从字符串中删除特定字符的方法?
我需要从下面的变量值中删除括号“[”和“]”,并将结果存储在.$widget_text
$widget_id
$widget_text = '[widget_and-some-text]';
$widget_id = ?;
使用 ,还是其他内容?preg_replace
str_replace
我需要从下面的变量值中删除括号“[”和“]”,并将结果存储在.$widget_text
$widget_id
$widget_text = '[widget_and-some-text]';
$widget_id = ?;
使用 ,还是其他内容?preg_replace
str_replace
有几种方法可用,有时可以使它们执行完全相同的任务,例如preg_replace / str_replace。但是,也许您只想从字符串的开头或结尾删除括号;在这种情况下,preg_replace有效。但是,如果可以有几个括号,preg_replace也可以完成这项工作。但修剪更容易,更有意义。
preg_replace() - 删除前方括号和尾随括号
$widget_id = preg_replace(array('/^\[/','/\]$/'), '',$widget_text);
str_replace() - 这将删除文本中任何位置的括号
$widget_id = str_replace(array('[',']'), '',$widget_text);
trim() - 从开头和结尾修剪括号
$widget_id = trim($widget_text,'[]')
substr() - 与 trim() 执行的操作相同(假设小部件文本在文本中不包含任何右括号)
$widget_id = substr($widget_text,
$start = strspn($widget_text, '['),
strcspn($widget_text, ']') - $start
);
$widget_id = str_replace('[', '', str_replace(']', '', $widget_text));