需要替换url href和标签

时间:2012-04-19 13:39:06

标签: php preg-replace

我需要使用带有seo链接的preg_replace替换href,比如

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

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

我需要先获得2个vars第一个到第二个

我做了这个正则表达式

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

它的工作但是如果它们在href =“”标签之后没有任何内容,那么正则表达式不起作用,所以A必须有样式和类或其他工作

是他们以任何方式忽略href =“”之后的类或样式标记或任何使用此regext的方法

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

或类似的东西使其工作为1 $和2 $只有3 $?我的意思是让第二个人在href"" to </a>之后获得所有东西!

1 个答案:

答案 0 :(得分:3)

为什么不保持原样并使用mod_rewrite

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

尝试使用正则表达式解析HTML可能会导致the pony he comes