2010-04-12 42 views
0

我在尝试preg_replace charset=blablabla;charset=blablabla"charset=utf-8;charset=utf-8"。请参阅;="个字符,当然搜索字符串可以是小写/大写。正则表达式,用php中的特殊字符

你能帮我吗?

+0

这些代码片断在什么情况下出现? – Gumbo 2010-04-12 22:09:35

回答

0

你可以尝试这样的事情。

echo preg_replace("#charset=[a-zA-Z0-9]+(\;)?#", "charset=utf-8$1", "charset=sdfsfsds"); 
1

你可能喜欢的东西替换值:

$subject = 'Testing... charset=baz; and charset=bat" :-)'; 
echo preg_replace('/(?<=charset=)[a-zA-Z0-9_-]+(?=[;"])/', 'utf-8', $subject); 
// Testing... charset=utf-8; and charset=utf-8" :-) 

解构,正则表达式匹配:

  • 的点紧跟charset=(使用lookbehind
  • 序列一个或多个字母数字,下划线或连字符(将被替换)
  • 如果后面跟有分号或双引号字符