0

preg_replace を使用して href を seo link に置き換える必要があります。

<a href="blabla" class="bla" style="bla">bla</a>

<a href="blabla.html" class="bla" style="bla">bla</a>

最初の 1 つから 2 つ目の変数まで 2 つの変数を取得する必要があります

私はこの正規表現を作りました

preg_replace('#<a href="(.*?)" (.*?)>(.*?)</a>#',
             '<a href="$1.html">$3</a>'
               );

それは機能しますが、スタイルやクラスのような href="" タグの後に何もない場合、正規表現は機能しないため、A にはスタイルとクラスまたはその他の機能が必要です

href="" の後にクラスまたはスタイルタグを無視する方法、またはこの正規表現を使用する方法はありますか

preg_replace('#<a href="(.*?)"(>.*?)</a>#',
             '<a href="$1.html">$2</a>'
               );

または、 3$ なしでのみ 1$ および 2$ として機能させるようなものですか? つまり、2番目のものが後ですべてを取得できるようにしhref"" to </a>ます!

4

1 に答える 1

3

そのままにして使ってみませんmod_rewriteか?

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !\.html
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html

正規表現を使用してHTMLを解析しようとすると、彼がやってくるポニーになる可能性があります。

于 2012-04-19T13:42:02.140 に答える