$str="<span name=\"oldtitle\">啊哈撒地方了哈师大</span> ";
我用这个正则总是取不到东西
preg_match_all("(<span name=\"oldtitle\">(.*)<\/span>)", $body, $matches);
就是那个name属性的引号转义不成功,如果不加引号就可以,所以想吧引号去掉后再取,
要把$str变成这样
<span name=oldtitle>啊哈撒地方了哈师大</span>
应该怎么写
preg_match_all("(<span name=\"oldtitle\">(.*)<\/span>)", $str, $matches);
双引号在正则表达式中并没有特殊意义,只做为普通字符使用
preg_match_all中的正则表达式要放在界定符中
要注意*的贪婪性
修改如下
preg_match_all('#(<span name="oldtitle">(.*?)<\/span>)#', $body, $matches);
name里面的值是特定的,因为我只要那一条span里的内容,别的不取
追答<?php