|
użytkowników online: 43
|
OPINIE UŻYTKOWNIKÓW
|
Gratulacje i dzięki! Trafiłem tu przypadkiem poszukując informacji na temat php+mysql. Wiele polskich stron powiela identyczne przykłady, klonuje te same kursy i lekcje... ten serwis okazał sie inny. Zasada "problem - rozwiazanie - wyjaśnienie" zdaje egzamin - zapewnia jasną, jednoznaczną i pewną pomoc w konkretnym przypadku. Porady są warte swojej ceny, przede wszystkim ze względu na przyjazną (także dla początkujących) formę i treść oraz bogate i stale powiększane zasoby. Polecam i pozdrawiam!
Kamil Dmowski
Polski Czerwony Krzyż
|
|
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net
[Spis]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[X]
[W]
[Z]
preg_quote (PHP 3 >= 3.0.9, PHP 4, PHP 5) preg_quote -- Quote regular expression characters Descriptionstring preg_quote ( string str [, string delimiter] )
preg_quote() takes str
and puts a backslash in front of every character that is part of
the regular expression syntax. This is useful if you have a
run-time string that you need to match in some text and the
string may contain special regex characters.
If the optional delimiter is specified, it
will also be escaped. This is useful for escaping the delimiter
that is required by the PCRE functions. The / is the most commonly
used delimiter.
The special regular expression characters are:
. \ + * ? [ ^ ] $ ( ) { } = ! < > | :
Przykład 1. preg_quote() example |
<?php
$keywords = '$40 for a g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; ?>
|
|
Przykład 2. Italicizing a word within some text |
<?php
$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/" . preg_quote($word) . "/",
"<i>" . $word . "</i>",
$textbody);
?>
|
|
Notatka: Ta funkcja jest bezpieczna dla danych
binarnych.
User Contributed Notesphp dot net at sharpdreams dot com
25-Jul-2005 04:34
Re (2) rdude at fuzzelfish dot com:
In case anyone else missed it, you do NOT have to use / as your preg escape character. You can use any two matching characters.
me@localhost
29-Mar-2005 08:51
Re rdude at fuzzelfish dot com:
You can specify a delimiter that will be escaped, too.
preg_quote('abc/', '/') does the job.
rdude at fuzzelfish dot com
17-Feb-2005 05:35
Another character that preg_quote will not escape is the all important "/" character. You will need to convert "/" into "\/" yourself. For example, this code does not work:
<?
$TEXT = preg_replace('/[' . preg_quote('abc/') . ']/', '', $TEXT);
?>
However, this does:
<?
$TEXT = preg_replace('/[' . preg_quote('abc') . '\/]/', '', $TEXT);
?>
mina86 at tlen dot pl
26-Dec-2003 12:02
Re: adrian holovaty
You must also escape '#' character. Next thing is that there is more then one whitespace character (a space).. Also IMO the name preg_quote_white() won't tell what the new function does so we could rename it. And finally, we should also add $delimiter:
<?php
function preg_xquote($a, $delimiter = null) {
if ($delimiter) {
return preg_replace('/[\s#]/', '\\\0', preg_quote($a, substr("$delimiter", 0, 1)));
} else {
return preg_replace('/[\s#]/', '\\\0', preg_quote($a));
}
}
?>
adrian holovaty
16-Jul-2003 02:12
Note that if you've used the "x" pattern modifier in your regex, you'll want to make sure you escape any whitespace in your string that you *want* the pattern to match.
A simplistic example:
$phrase = 'a test'; // note the space
$textbody = 'this is a test';
// Does not match:
preg_match('/' . preg_quote($phrase) . '$/x', $textbody);
function preg_quote_white($a) {
$a = preg_quote($a);
$a = str_replace(' ', '\ ', $a);
return $a;
}
// Does match:
preg_match('/' . preg_quote_white($phrase) . '$/x', $textbody);
|