2012-02-21 63 views
0

字符串從某一點替換字符串的一部分

abc/def/*

abc/def/*/xyz

如何使用preg_replace_callback具有一定的字符串/*後取代一切?

abc/def/replacement

+0

我不知道,但我猜你不想manualy再檢查一下爲「/ *」存在,那麼該字符串切割成「位置/ * 「然後添加替換? – kajacx 2012-02-21 20:02:32

+0

因此,在這兩個示例中,結果都是相同的(您在「Like」下的值)? – salathe 2012-02-21 20:33:10

回答

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

像這樣的東西應該工作:

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

你真的需要使用preg_replace_ca儘管?下面是一個等價版本的preg_replace:

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