2015-11-02 37 views
1

我有一個很大的字符串,包含「items1」和「items2」...我不知道這些項目存在多少。所以我不知道它計算的是哪個數字。替換字符串動態結束於php

現在我需要替換的字符串的所有這些部分爲「項目」

例子:

asdfHelloBla"items2"HahaHabicht"items3"test => asdfHelloBla"items"HahaHabicht"items"test 

誰能幫助我? 我可以用正則表達式來做到這一點嗎?

+0

你的意思是你想刪除出現在雙引號內的靜態字符串'item'後面的數字?你嘗試過什麼嗎? –

+0

輸入來自哪裏?這看起來不像任何理智。 –

+0

@JonStirling:Consisder是一個隨機字符串。 – progNewbie

回答

1

您可以使用下面的代碼做到這一點:

<?php 
    $string = 'asdfHelloBla"items2"HahaHabicht"items3"'; 
    $to_replace = array('"items1"', '"items2"', '"items3"'); 
    echo str_replace($to_replace, '"items"', $string); 
?> 

的str_replace函數功能的使用方法如下:

str_replace(search, replace, subject); 

它可以接受一個數組作爲「搜索」的說法,然後替換任何與'替換'論點的匹配。 你需要添加所有你想要替換的$ to_replace數組,在這種情況下是「item1」,「item2」等,它應該工作正常。還有一件事,你需要知道列表的最大限制。 如果你知道最大限制,你可以使用一個循環來代替''item1'',''item2'''...''項目{$ n}''' 希望這會有所幫助:)

+0

OP明確指出物品的數量未知...... –

+0

但是,如果它是未知的,那麼他不可能知道數字,直到他必須循環。必須有一個最大限制。 items999999999999也許?但它必須停止在某個地方。 – Mav