ホームページ > バックエンド開発 > PHPの問題 > PHPで正規表現文字をエスケープする方法

PHPで正規表現文字をエスケープする方法

藏色散人
リリース: 2023-03-07 13:50:01
オリジナル
2984 人が閲覧しました

在php中可以通过“preg_last_error”函数将正则表达式字符进行转义,其语法是“string preg_quote ( string $str [, string $delimiter = NULL ] )”。

PHPで正規表現文字をエスケープする方法

推荐:《PHP视频教程

preg_last_error 函数用于转义正则表达式字符。

语法

string preg_quote ( string $str [, string $delimiter = NULL ] )
ログイン後にコピー

preg_quote() 需要参数 str 并向其中 每个正则表达式语法中的字符前增加一个反斜线。 这通常用于你有一些运行时字符串 需要作为正则表达式进行匹配的时候。

正则表达式特殊字符有: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

参数说明:

$str: 输入字符串。

$delimiter: 如果指定了可选参数 delimiter,它也会被转义。这通常用于 转义 PCRE 函数使用的分隔符。 / 是最通用的分隔符。

返回值

返回转义后的字符串。

实例

实例 1

<?php
$keywords = &#39;$40 for a g3/400&#39;;
$keywords = preg_quote($keywords, &#39;/&#39;);
echo $keywords; 
?>
ログイン後にコピー

执行结果转义了 $ 和 / 特殊字符,如下所示:

返回 \$40 for a g3\/400

将文本中的单词替换为斜体

<?php
//在这个例子中,preg_quote($word) 用于保持星号原文涵义,使其不使用正则表达式中的特殊语义。
 
$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/" . preg_quote($word) . "/",
                          "<i>" . $word . "</i>",
                          $textbody);
echo $textbody;
?>
ログイン後にコピー

执行结果如下所示:

This book is <i>*very*</i> difficult to find.
ログイン後にコピー

以上がPHPで正規表現文字をエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート