ホームページ >バックエンド開発 >PHPの問題 >PHPで英語の句読点を削除する方法

PHPで英語の句読点を削除する方法

青灯夜游
青灯夜游オリジナル
2022-05-25 20:24:251912ブラウズ

削除方法: preg_replace() 関数を正規表現「/[[:punct:]]/i」とともに使用して、文字列内のすべての英語の句読点を検索し、空の文字に置き換えます。 ;構文 " preg_replace('/[[:punct:]]/i', '', $str)"。

PHPで英語の句読点を削除する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

PHP では、preg_replace を使用できます。 () 関数 正規表現を使用して、文字列から英語の句読点を削除します。

preg_replace() 関数を使用して英語の句読点を空の文字列に置き換えるだけです。

使用される正規表現は次のとおりです: /[[:punct:]]/i

例: 英語の句読点のみを削除し、その他は保持します。文字 (中国語の句読点を含む)

<?php
header("Content-type:text/html;charset=utf-8");
$str = "12!@78#9$%^56&78*9()0.8,7<>8|3[]8&#39;45\"67!【】“45”‘67’"; 
echo "原字符串:".$str."<br><br>";
$Newstr=preg_replace(&#39;/[[:punct:]]/i&#39;,&#39;&#39;,$str);
echo "处理后:".$Newstr;
?>

PHPで英語の句読点を削除する方法

説明

preg_replace() 関数は、正規表現の検索と置換を実行できます。

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

$subject が配列の場合、preg_replace() 関数は配列を返し、それ以外の場合は文字列を返します。

関数 preg_replace() が一致を見つけた場合は、置換された $subject を返します。そうでない場合は、変更されていない $subject を返します。 preg_replace() 関数の各パラメータ (パラメータ $limit を除く) は配列にすることができます。 $pattern パラメーターと $replacement パラメーターが両方とも配列の場合、関数は配列内に出現する順序でキーを処理します。エラーが発生した場合は NULL が返されます。

パラメータ $replacement には後方参照 \\n または $n を含めることができますが、構文的には後者の方が優先されます。このような各参照は、一致した n 番目のキャプチャ サブグループによってキャプチャされたテキストに置き換えられます。 n は 0 ~ 99 で、\\0 と $0 は完全なパターン マッチング テキストを表します。

キャプチャ サブグループのシリアル番号のカウント方法は次のとおりです。キャプチャ サブグループを表す左括弧は、1 から開始して左から右に数えられます。 $replacement でバックスラッシュを使用する場合は、4 ("\\\\" を使用する必要があります。これは、最初は PHP 文字列であり、エスケープ後は 2 になり、正規表現を通過した後は文字列とみなされます。エンジン。オリジナルのバックスラッシュ)。

置換モードで作業しており、後方参照の後に別の数値を続ける必要がある場合 (例: 一致するパターンの直後に元の数値を追加する)、構文 \\1 は使用できません。後方参照について説明します。たとえば、 \\11 を指定すると、 preg_replace() は \\1 後方参照の後に元の 1 が続くのか、それとも \\11 後方参照の後に何も続くのかを理解できなくなります。この場合の解決策は、${1}1 を使用することです。これにより、$1 の別の後方参照、つまりソース 1 の別の後方参照が作成されます。

非推奨の e 修飾子を使用する場合、この関数は一部の文字 ('、"、\、および NULL) をエスケープし、後方参照置換を実行します。これが完了するときは、参照が解析された後に必ず後方参照してください。 、単一引用符や二重引用符によって引き起こされる構文エラーはありません (例: 'strlen(\'$1\') strlen("$2")')。PHP の文字列構文に準拠し、eval 構文に準拠していることを確認してください。置換が完了すると、エンジンは eval メソッドを使用して結果の文字列を PHP コードとして評価し、戻り値を置換に参加する最終文字列として使用します。

推奨される学習: "PHP ビデオチュートリアル "

以上がPHPで英語の句読点を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。