Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Znaki specjalne - Wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
TheDuliMen
Mam taką wyszukajkę:
  1. preg_match('#godzinie\s*(\d*:\d*:\d*\'\d*)#', $raport, $tablica); // Data rozpoczęcia wyścigu
  2. $czas_pierwszego_gracza = $tablica[1]; // Czas

Mam problem z znakiem '
Ponieważ po wywołaniu zmiennej wychodzi przykład: 00:00:00 i urywa resztę, a powinno być 00:00:00'000, czytałem że znaki specjalne poprzedza się \ żeby nie były innaczej traktowane jednak tutaj to nie działa...

PS. W $raport jest takie coś jak przykłąd 00:00:00'000 bo wywołałem całą zmienna, problem przy wyszukiwaniu jest.
peter13135
poprzedź dwoma slashami tongue.gif
TheDuliMen
Cytat(peter13135 @ 6.07.2012, 22:48:29 ) *
poprzedź dwoma slashami tongue.gif

Rzeczywiście w $raport jest 00:28:30\'222 ale jak daje \\ to wyskakuje błąd
  1. preg_match('#'.$nazwa_pierwszego_gracza.':\s*(\d*:\d*:\d*\\'\d*)#', $raport, $tablica); // Czas pierwszego gracza
  2. $czas_pierwszego_gracza = $tablica[1]; // Czas


EDIT : Ostatecznie wykryłem że błąd jest po 00:00:00 w $raport jest 00:00:00\'000 i jak stworzyć to tego funkcję preg_match?
peter13135
przed apostrofem mają być 3 slashe wink.gif
TheDuliMen
\\\ Niestety dają pusty Array 0 jak i 1.

Może tak ci to przedstawie, kody wygląda tak:
  1. preg_match('#uczestników\s*(\w*\w*)#', $raport, $tablica); // Nazwa pierwszego gracza
  2. $nazwa_pierwszego_gracza = $tablica[1]; // Nazwa
  3.  
  4. preg_match('#'.$nazwa_pierwszego_gracza.':\s*(\d*:\d*:\d*\\\'\d*)#', $raport, $tablica); // Czas pierwszego gracza
  5. $czas_pierwszego_gracza = $tablica[1]; // Czas
  6. $czas_pierwszego_gracza2 = $tablica[0]; // Sprawdzenie

Zawartość $raport:
  1. Temat: Wyścig
  2. Nadawca: RaceGame
  3. Data otrzymania: 06.07.2012 22:40:02
  4. Informacje na temat wyścigu rodzaju utrudnionego rozpoczętego dnia 06.07.2012 o godzinie 22:07:54 między Tobą a graczem qwerty05.
  5. Informacje na temat toru
  6. Suzuka
  7.  
  8. Długość toru: 5821m
  9. Liczba okrążeń: 3
  10. Długość trasy: 17 463m
  11. Informacje na temat uczestników
  12. TheBoyOfThePoland
  13. Informacje na temat gracza
  14. Poziom: 20
  15. Doświadczenie:
  16. (841 / 859)
  17. Informacje na temat pojazdu
  18. Mercedes Benz 190
  19.  
  20. Moc:
  21. (71 + 18)
  22. Przyspieszenie:
  23. (76 + 22)
  24. Sterowność:
  25. (43 + 17 + 54)
  26. Opancerzenie:
  27. (41 + 16 + 17)
  28. Zamontowane części
  29. Kask wyścigowy
  30.  
  31. Opancerzenie: +10%
  32. Fotele sportowe
  33.  
  34. Sterowność: +15%
  35. Klatka bezpieczeństwa
  36.  
  37. Opancerzenie: +20%
  38. Silnik R6 Cadillac CTS
  39.  
  40. Moc: 71
  41. Przyśpieszenie: 76
  42. Felgi z oponami GoodRace Speed 2
  43.  
  44. Sterowność: +45
  45. qwerty05
  46. Informacje na temat gracza
  47. Poziom: 18
  48. Doświadczenie:
  49. (631 / 684)
  50. Informacje na temat pojazdu
  51. FSO Polonez
  52.  
  53. Moc:
  54. (41 + 11)
  55. Przyspieszenie:
  56. (57 + 13)
  57. Sterowność:
  58. (25 + 10 + 15)
  59. Opancerzenie:
  60. (26 + 10 + 3)
  61. Zamontowane części
  62. Kask wyścigowy
  63.  
  64. Opancerzenie: +10%
  65. Felgi z oponami GoodRace Comfort 4
  66.  
  67. Sterowność: +15
  68. Silnik R4 Audi A1
  69.  
  70. Moc: 41
  71. Przyśpieszenie: 57
  72. Czasy ukończenia wyścigu
  73. TheBoyOfThePoland: 00:28:30\'222
  74. qwerty05: 00:31:48\'278
  75. Podsumowanie wyścigu
  76. Wygrałeś wyścig osiągając lepszy czas jego ukończenia niż gracz qwerty05 dzięki czemu otrzymujesz:
  77. Pieniądze od przeciwnika: 87zł
  78. Pieniądze od sponsora: 35zł
  79. Podsumowanie wygranych pieniędzy: 122zł
  80. Punkty: 56

zawartość $nazwa_pierwszego_gracza
  1. TheBoyOfThePoland
peter13135
Nie rozumie.

Mam takie coś :

  1.  
  2. <?php
  3.  
  4. preg_match('#godzinie\s*(\d*:\d*:\d*\\\'\d*)#', 'trolollogodzinie12:34:01\'021 heheheh trolololo', $tablica); // Data rozpoczęcia wyścigu
  5.  
  6. echo '#godzinie\s*(\d*:\d*:\d*\\\'\d*)#';
  7. print_r($tablica);
  8. ?>



i hula.
TheDuliMen
Mam taki problem że jeżeli wysyłam raport przez formularz nie mogę wyświetlić znaku specjalnego ' jednak gdy to co w formularzu zapisałem z zmiennej na stronie wtedy się da...
Skrypt:
Kod
<?php

/*************
Strona Główna*
*************/
echo '<html>
<head>
<title>
Generator raportów RaceGame.pl by TheBoyOfThePoland
</title>
<style type="text/css"> body {background-color: #EE7621;} </style>
</head>
</html>

<div align="center">
<br><a href="index.php?strona=generator_normalny"
target=_blank>Generator Normalny</a>
|||||
<a href="index.php?strona=generator_wojenny"
target=_blank>Generator Wojenny</a><br><br><br>
</div>';

/***********************
Generator Tryb Normalny*
***********************/
$strona = $_GET['strona'];
if($strona=='generator_normalny')
{

$raport = trim($_POST['raport']);

if(empty($raport)) {

echo '<html>
<head>
<title>
Generator raportów RaceGame.pl by TheBoyOfThePoland
</title>
<style type="text/css"> body {background-color: #EE7621;} </style>
</head>
</html>
<div align="center">
Wklej tutaj swój raport:<br>
<br>
<form action="" method="post">
<textarea name="raport" style="width: 50%; height: 30%"></textarea><br />
<input type="submit" value="Generuj raport!" />
</form>
</div>';
}
else { // Rozpoczęcie generowania
    
    // przypisanie zmniennej $file nazwy pliku
    $file = "raporty/".date('dmYHis').".txt";
    // uchwyt pliku, otwarcie do dopisania
    $fp = fopen($file, "a");
    // blokada pliku do zapisu
    flock($fp, 2);
    // zapisanie danych do pliku
    fwrite($fp, $raport);
    // odblokowanie pliku
    flock($fp, 3);
    // zamknięcie pliku
    fclose($fp);
    
/**********************************
Wyszukiwarka i częściowy generator*
***********************************/

preg_match('#uczestników\s*(\w*)#', $raport, $tablica); // Nazwa pierwszego gracza
$nazwa_pierwszego_gracza = $tablica[1]; // Nazwa

preg_match('#'.$nazwa_pierwszego_gracza.':\s*(\d*:\d*:\d*\\\'\d*)#', $raport, $tablica); // Czas pierwszego gracza
$czas_pierwszego_gracza = $tablica[1]; // Czas
$czas_pierwszego_gracza2 = $tablica[0]; // Sprawdzenie
print_r($tablica);

/*********
Konwenter*
*********/

echo '<html>
<head>
<title>
Generator raportów RaceGame.pl by TheBoyOfThePoland
</title>
<style type="text/css"> body {background-color: #EE7621;} </style>
</head>
</html>
<div align="center">';
echo "<textarea style='width: 80%; height: 50%'>";
echo "[center][size=15px][font=comic sans ms][b]Czas:[/b] $czas_pierwszego_gracza || $czas_pierwszego_gracza2 || $nazwa_pierwszego_gracza [/font][/size][/center]
";
echo "</textarea>";
} // Koniec generowania
} // Koniec strony

?>

Zawartość zmiennej $raport:
Kod
<?php

/*************
Strona Główna*
*************/
echo '<html>
<head>
<title>
Generator raportów RaceGame.pl by TheBoyOfThePoland
</title>
<style type="text/css"> body {background-color: #EE7621;} </style>
</head>
</html>

<div align="center">
<br><a href="index.php?strona=generator_normalny"
target=_blank>Generator Normalny</a>
|||||
<a href="index.php?strona=generator_wojenny"
target=_blank>Generator Wojenny</a><br><br><br>
</div>';

/***********************
Generator Tryb Normalny*
***********************/
$strona = $_GET['strona'];
if($strona=='generator_normalny')
{

$raport = trim($_POST['raport']);

if(empty($raport)) {

echo '<html>
<head>
<title>
Generator raportów RaceGame.pl by TheBoyOfThePoland
</title>
<style type="text/css"> body {background-color: #EE7621;} </style>
</head>
</html>
<div align="center">
Wklej tutaj swój raport:<br>
<br>
<form action="" method="post">
<textarea name="raport" style="width: 50%; height: 30%"></textarea><br />
<input type="submit" value="Generuj raport!" />
</form>
</div>';
}
else { // Rozpoczęcie generowania
    
    // przypisanie zmniennej $file nazwy pliku
    $file = "raporty/".date('dmYHis').".txt";
    // uchwyt pliku, otwarcie do dopisania
    $fp = fopen($file, "a");
    // blokada pliku do zapisu
    flock($fp, 2);
    // zapisanie danych do pliku
    fwrite($fp, $raport);
    // odblokowanie pliku
    flock($fp, 3);
    // zamknięcie pliku
    fclose($fp);
    
/**********************************
Wyszukiwarka i częściowy generator*
***********************************/

preg_match('#uczestników\s*(\w*)#', $raport, $tablica); // Nazwa pierwszego gracza
$nazwa_pierwszego_gracza = $tablica[1]; // Nazwa

preg_match('#'.$nazwa_pierwszego_gracza.':\s*(\d*:\d*:\d*\\\'\d*)#', $raport, $tablica); // Czas pierwszego gracza
$czas_pierwszego_gracza = $tablica[1]; // Czas
$czas_pierwszego_gracza2 = $tablica[0]; // Sprawdzenie
print_r($tablica);

/*********
Konwenter*
*********/

echo '<html>
<head>
<title>
Generator raportów RaceGame.pl by TheBoyOfThePoland
</title>
<style type="text/css"> body {background-color: #EE7621;} </style>
</head>
</html>
<div align="center">';
echo "<textarea style='width: 80%; height: 50%'>";
echo "[center][size=15px][font=comic sans ms][b]Czas:[/b] $czas_pierwszego_gracza || $czas_pierwszego_gracza2 || $nazwa_pierwszego_gracza [/font][/size][/center]
";
echo "</textarea>";
} // Koniec generowania
} // Koniec strony

?>


Jeśli zmienna wpiszemy w skrypt, wtedy elegancko wyszukuje zmiennej, jednak gdy robimy to przez formularz...

Pomoże ktoś?

Mhm?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.