2013-05-15 31 views
10

Tôi đang lặp qua một tiêu đề từ một bảng để về cơ bản nó là một cái gì đó dọc theo những dòng này.Sử dụng str_replace nhiều lần trên cùng một chuỗi

foreach($c as $row){ 
    echo string_shorten($row['title']); 
} 

Những gì tôi đang làm là cố gắng là một câu lệnh switch đó sẽ chuyển qua lại giữa những gì tôi muốn nó để tìm kiếm và khi nó đã được tìm thấy thay thế nó với những gì tôi chọn trong str_replace:

function string_shorten($text){ 
    switch(strpos($text, $pos) !== false){ 
     case "Hi": 
       return str_replace('Hi','Hello', $text); 
     break; 
    } 
} 

Bất kỳ đề xuất hoặc lựa chọn thay thế có thể sẽ được đánh giá cao. Có vẻ như tôi rất gần nhưng không hoàn toàn.

+1

str_replace() sẽ chấp nhận mảng là từ và lập luận - http://www.php.net/manual/en/function.str- replace.php –

+0

Không phải tất cả các chuỗi sẽ được thay thế theo cùng một cách. trong một trường hợp, một từ được thay thế bằng chữ viết tắt và một từ khác đang được xóa hoàn toàn. – stepquick

+1

Bạn cũng có thể thay thế một mảng – PeeHaa

Trả lời

44

Như bạn có thể đọc trong manual for str_replace()

hỗn hợp str_replace (hỗn hợp $search, hỗn hợp $replace, hỗn hợp $subject [, int &$count])

cũng như ví dụ này

// Provides: You should eat pizza, beer, and ice cream every day 
$phrase = "You should eat fruits, vegetables, and fiber every day."; 
$healthy = array("fruits", "vegetables", "fiber"); 
$yummy = array("pizza", "beer", "ice cream"); 

$newphrase = str_replace($healthy, $yummy, $phrase); 

Điều này có nghĩa rằng bạn có thể sử dụng giống như sau

$search = array('Hi', 'Heyo', 'etc.'); 
$replace = array('Hello', 'Hello', ''); 
$str = str_replace($search, $replace, $str); 
+0

Cảm ơn bạn về ví dụ. – stepquick

Các vấn đề liên quan