ホームページ >バックエンド開発 >PHPチュートリアル >PHP 正規表現でサイト キーワード リンク後の空白の問題を置き換える、正規表現キーワード_PHP チュートリアル

PHP 正規表現でサイト キーワード リンク後の空白の問題を置き換える、正規表現キーワード_PHP チュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-13 10:19:15768ブラウズ

PHP正規表現置換サイトキーワードリンク後の空白問題の解決策

タイトルが適切かどうかわかりません。具体的な状況は次のとおりです。Web サイトでキーワード リンク関数を追加する必要があり、記事のコンテンツを正規表現と照合して置換する必要があるため、preg_replace 関数が使用されます。置き換えられたプログラムコードは以下の通りです:

関数 ReplaceKeyword($linkDefs,$content){ $linkMap = 配列(); ​ /*foreach($linkDefs as $row) { $linkMap[] =explode(',', $row); }*/ $linkMap = $linkDefs; ​ //元のリンクをテキストに置き換えます foreach($linkMap as $row) { $content = preg_replace('/(s*)('.$row[0].')(s*)/suit', $row[0], $コンテンツ); } ​ ​ ​ //キーワードを長いものから短いものに並べ替えます usort($linkMap, '_sortDesc'); //var_dump($linkMap); ​ $tmpKwds = array(); //ストレージはサブキーワードを一時的に置き換えます ​ $k_count=0; foreach($linkMap as $i=>$row) { list($kwd, $url) = $row; for($j=$i+1; $j } ​ プログラムはオンラインで見つけてローカルでテストしましたが、ローカル環境は PHP 5.3 で、サービスは 5.2 でした。最初は PHP のバージョンの問題だと思いました。 ereg と preg の違いでしたが、交換後も動作しません。後でネットで調べてみると、pcre.backtrack_limit と pcre.recursion_limit を調整するだけで十分だと言っているネチズンがいたので試してみたところ、うまくいきました。設定の問題のようですが、通常の状況では、PHP のデフォルト設定で問題ないはずです。自分で書いたプログラムではまだ十分ではありません。

phpの正規表現の問題、キーワードをリンクに置き換えるプログラムです

IE6とFIREFOX 3.0で試してみましたが、問題なくこのように書くことができました。



新しいドキュメント







Xhtml Linux




以下はFIREFOX 3.0 で取得した BODY の innerHTM
Xhtml Lx