我有一个这样构建的字符串:
[propertyname]=[value]
thepropertyname
和 thevalue
都可以用单引号或双引号封装。
所以我可以收到一个看起来像这样的字符串:
"height"='max'
或者:
'height'='max'
只要propertyname
和value
都用相同类型的引号封装。
我需要做的是删除引号。但只在propertyname
and周围value
!因为以下也很可能是一个有效的字符串:
"blaat"="Some 'random' blaat"
最终结果应该是:
blaat=Some 'random' blaat
我有以下有效的正则表达式。但它仅在我检查双引号或单引号时才有效。当我尝试将它们与|
运营商结合起来时,它就不再起作用了。
<?php
$string = '"height"=\'something "else" in here\'';
//echo preg_replace ( '#"(.*?)"#', '$1', $string );
//echo preg_replace ( '#\'(.*?)\'#', '$1', $string );
echo preg_replace ( '#("(.*?)"|\'(.*?)\')#', '$1', $string );
?>
所以我可以简单地打两个preg_replace
电话,但考虑到正则表达式应该能够在一个电话中处理这个问题,这是一个令人讨厌的工作......
知道问题是什么吗?