我有一个字符串:
$str = 'title="favorite" name="fav_1" onclick="return ..."'
我想将name
替换为class
和条带化onclick
属性。
我试过什么?
$str = 'title="favorite" name="fav_12" onclick="return.."';
$replace = str_replace('name', 'class', $str);
哼哼�
�如果我使用str_replace
那么我需要重复此步骤两次,第一次是将name
替换为class
,第二次条带onclick
到空白。
重复代码不是问题,但如果我不知道里面onclick="..."
是什么,str_replace
将无法正常工作.
因此,请建议如何将名称替换为类并在一行代码中剥离单击。
最简单的方法是使用:
preg_replace('/onclick=".*"/', '', $str);
但是你应该研究一个 DOM 解析器,因为上面的内容可能会在某个时候中断。
一个简单的解决方案是:
$str = preg_replace('/onclick="([^"]+)"/', ' ', $str);
但是,如果 onclick 引号中有一些引号,它将失败(即使它们使用 '' 转义)。