数据:<product name_here>Product A</product_name here>
我试试这个$replace = preg_replace('/\s+/', '_', $replace);
但它显示不正确:<product_name_here>Product_A</product_name_here>
仅在标记名称内仅用下划线替换空格,无需更改值
中的空格我想这样:<product_name_here>Product A</product_name_here>
请帮忙。
答案 0 :(得分:1)
怎么样?
$before = '<product name_here>Product A</product_name here>';
$after = preg_replace('/(<[^>]*)\s+([^<]*>)/', '$1_$2', $before);
echo $after;
这应该给出
<product_name_here>Product A</product_name_here>
\ s之前和之后的部分+指定您不希望标记配对之外的空格,而只是包含在开始标记<
和结束标记>
之间的空格。
$1
和$2
替换在替换的空格之前和之后的字符串中。
答案 1 :(得分:0)
你能举一个更好的例子吗?
根据我的理解,你想要这个:
您有:产品A
您想:产品A
这是对的吗?
如果是这种情况,你需要做的就是str_replace('','_',$ product)
抱歉我的英语不好。