的非常坏解决方案:
$string = 'blabla id="New_York_State" class="United_States" blabla';
$new_string = preg_replace_callback('#\"([^"]*)\"#', function($m){
return('"'. str_replace(' ', '_', $m[1]) .'"');
}, $string);
echo $new_string;
输出:
blabla id="New_York_State" class="United_States" blabla
只允许id=
和class=
双引号后面:
$string = 'blabla id="New_York_State" class="United_States" blabla "this won\'t get underscored" yaaaay';
$new_string = preg_replace_callback('#(?<=id=|class=)\"([^"]*)\"#', function($m){
return('"'. str_replace(' ', '_', $m[1]) .'"');
}, $string);
echo $new_string;
输出:
blabla id="New_York_State" class="United_States" blabla "this won't get underscored" yaaaay
向我们展示您的尝试。也许你正在走上好的道路。 – 2013-05-11 21:00:32
你正在做一个完整的HTML文件的替代? – Baba 2013-05-11 21:00:56
我认为最好的方法是使用DOM,检查所有的类和id,并做空间替换。 – HamZa 2013-05-11 21:01:31