|affffc100|Hitem:bb:101:1:1:1:1:48:-30:47:18:5:2:6:6:0:0:0:0:0:0:0:0|h[Subject Name]|h|r
我通常打印出變量是^PHP替換,並用正則表達式除去指定模式
|cffffc700|Hitem:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x|h[SUBJECT_NAME]|h|r
我的圖案^
所有X可以是AZ,0-9
在一列中我有很多像這樣的變量(最多8個)。 和所有的變量都具有這樣的字符串混合
|affffc100|Hitem:bb:101:1:1:1:1:48:-30:47:18:5:2:6:6:0:0:0:0:0:0:0:0|h[Gold]|h|r NEW SOLD |affffc451|Hitem:bb:101:1:1:1:1:25:-33:12:42:5a:2f:6w:6:0:0:0:0f:0:0a:0b:0|h[Copper]|h|r maximum price 15k|affffx312|Hitem:bb:101:1:1:1:1:25:-33:12:42:5a:2f:6w:6:0:0:0:0f:0:0a:0b:0|h[Silver]|h|r
在一個變量我要清理所有這些不必要的模式,並在括號中只留下主體名稱。 []
所以;
|cffffc700|Hitem:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x|h[SUBJECT NAME]|h|r
需要僅在我的變量中保留SUBJECT_NAME。 只是爲了提醒,我總是從我的每個變量中的這些模式不止一個...(最多8個) 我到處搜索它,但找不到任何合理的答案或者不錯的模式。試圖自己做,但我想我需要採取所有這些模式,並使其陣列和清理它,只留下這些主題名稱,但我不知道如何做到這一點。
我怎麼將它轉換爲:
|affffc100|Hitem:bb:101:1:1:1:1:48:-30:47:18:5:2:6:6:0:0:0:0:0:0:0:0|h[Gold]|h|r NEW SOLD |affffc451|Hitem:bb:101:1:1:1:1:25:-33:12:42:5a:2f:6w:6:0:0:0:0f:0:0a:0b:0|h[Copper]|h|r maximum price 15k|affffx312|Hitem:bb:101:1:1:1:1:25:-33:12:42:5a:2f:6w:6:0:0:0:0f:0:0a:0b:0|h[Silver]|h|r
這樣的:
Gold NEW SOLD Copper maxiumum price 15k Silver
我應該用什麼符,preg_replace?
一件事離開,當我有沒有我的特殊模式的字符串,我得到空結果從功能如:
$str = "15KKK sold, 20KK updated";
預期的結果:
"15KKK sold, 20KK updated" // same without any pattern
但^那一個返回EMPTY結果..
另一個字符串:
$str = "|affffc100|Hitem:bb:101:1:1:1:1:48:-30:47:18:5:2:6:6:0:0:0:0:0:0:0:0|h[Uranium]|h|r 155kk |affffc451|Hitem:bb:101:1:1:1:1:25:-33:12:42:5a:2f:6w:6:0:0:0:0f:0:0a:0b:0|h[Metal]|h|r is sold";
預期的結果:
"Uranium 155kk Metal is sold"
,如果我用非模式字符串函數返回空的結果這是我的問題,現在
非常感謝你
問題已更新 – Liveth
問題再次更新+ – Liveth
不要重複已經完成的答案。添加一些樣例和預期結果。你最後的字符串來自哪裏?這個結構與前一個沒有任何關係。你對這個字符串有什麼期望?有多少種不同的結構? – Toto