从某个点替换部分字符串

时间:2012-02-21 19:55:26

标签: php regex string

字符串

abc/def/*

abc/def/*/xyz

如何使用preg_replace_callback将/*之后的所有内容替换为某个字符串?

abc/def/replacement

2 个答案:

答案 0 :(得分:1)

<?php
$string = "abc/dc/*bla/foo";

$string = preg_replace_callback(
    '~/\*.*~',
    create_function(
      '$match',
      'return "/replacement";'
    ),
    $string
);

var_dump($string);
?>

输出

string 'abc/dc/replacement' (length=19)

答案 1 :(得分:1)

这样的事情应该有效:

$text = "abc/def/*/xyz";
function rep($matches)
{
  return "/replacement";
}
echo preg_replace_callback("|/\*.*|", "rep", $text);

你真的需要使用preg_replace_callback吗?这是与preg_replace相同的版本:

$text = "abc/def/*/xyz";
echo preg_replace("|/\*.*|", "/replacement", $text);