字符串操作从字符串中删除标记并将结果分配给变量?

时间:2011-03-25 18:40:44

标签: php string

给出$ widget_text中的字符串变量...

$widget_text = '[widget_and-some-text]';

我需要进行字符串操作以结束......

$widget_text_sanitized = 'and-some-text';

如何?

即,我认为这应该有效:

$widget_text = trim($widget_text,'[]');
$widget_text_sanitized = str_replace('widget_','',$widget_text);

2 个答案:

答案 0 :(得分:2)

使用正则表达式,你可以这样:

$widget_text = '[widget_and-some-text]';

if (preg_match('/\[widget_([^\]]+)\]/', $widget_text, $matches)) {
    var_dump($matches[1]);
}

哪能得到你:

string 'and-some-text' (length=13)

答案 1 :(得分:0)

$widget_text_sanitised = substr($widget_text, 8, -1);

这将删除字符串中的前8个字符和最后一个字符(无论它们是什么字符)。