我正在写这段代码:
$response = "PARCHEGGIO BASILE (Cap.) – Via E. Basile – Cavalcavia Brasa - V.le Regione Siciliana - V. Villagrazia (Barone Scala) – V. Emily Balch - V. Villagrazia - V. dell’Usignolo - V. dell’Allodola - V.le Regione Siciliana - VIA DEL LEVRIERE (Bonagia) (capolinea di transito) - V.dell’ Antilope - V. dell’ Ermellino - V.le Regione Siciliana - V. dell’Allodola - V. dell’Usignolo - V. Villagrazia - V.le Regione Siciliana – svincolo Brasa - Via E. Basile - PARCHEGGIO BASILE (Cap.)";
$response = str_replace( " – " , "@" , $response );
echo $response;
但结果是:
PARCHEGGIO BASILE (Cap.)@Via E. Basile@Cavalcavia Brasa - V.le Regione Siciliana - V. Villagrazia (Barone Scala)@V. Emily Balch - V. Villagrazia - V. dell’Usignolo - V. dell’Allodola - V.le Regione Siciliana - VIA DEL LEVRIERE (Bonagia) (capolinea di transito) - V.dell’ Antilope - V. dell’ Ermellino - V.le Regione Siciliana - V. dell’Allodola - V. dell’Usignolo - V. Villagrazia - V.le Regione Siciliana@svincolo Brasa - Via E. Basile - PARCHEGGIO BASILE (Cap.)
那么,str_replace没有功能......我错了吗?
答案 0 :(得分:2)
它们是不同的字符,相应地具有0x2d
和0xe28093
(编码为UTF-8)代码。
如果你仔细观察,你甚至可以看到它们的长度不同。
所以,php只是按照你的指示去做:它试图替换一个子字符串,一旦源字符串中没有条目 - 它就不会触及它。
要替换所有-
,您只需在-
来电中使用str_replace
字符,而不是–
有用的链接:
答案 1 :(得分:0)
您的刺痛格式不正确,请使用此str_replace
$response = str_replace([' – ', ' - '], "@", $response);
由于前一个字符串包含0x2d
或 - 以及0xe28093
或 - ,因此包含不同的unicode字符。