Autor | Zpráva | ||
---|---|---|---|
Ladicek Profil * |
#1 · Zasláno: 9. 10. 2014, 19:25:29
Potřeboval bych script, který převede všelijaké znaky (,.-;|) a pouze mezeru kolem nich ... na znak |
Jak toho docílím? Možná přes regulérní výrazy, ale nemám ponětí jak. |
||
abc Profil |
Možná jsem to blbě pochopil, ale asi něco jako:
$replace = array(" ,", ", ", " .", ". ", " ;", "; ", " |", "| "); $replace_w = "|"; $str = "tohle se nezameni,ale tohle ano ;"; $replaced = str_replace($replace, $replace_w, $str); echo $replaced; Kdyby toho na zaměnění bylo víc, jistě by to nebylo složité zautomatizovat. Můžeš např z pole znaků, které se mají zaměnit, vyrobit podobné pole jako jsem vyrobil já, zbytek je stejný. Zautomatizovat to lze např. takto: $replace_str = ",.-;|"; $replace = array(); for($i = 0; $i < strlen($replace_str); $i++){ $replace[] = " " . $replace_str[$i]; $replace[] = $replace_str[$i] . " "; } $replace_w = "|"; $str = "tohle se nezameni,ale tohle ano ;"; $replaced = str_replace($replace, $replace_w, $str); echo $replaced; |
||
Tori Profil |
Ladicek:
„Možná přes regulérní výrazy“ preg_replace. Regulár poskládáte jako: - nula a více mezer - množina nechtěných znaků (viz manuál) - nula a více mezer Základní info k regulárům, jak je sestavit: http://www.regularnivyrazy.info/regularni-vyrazy-zaklady.html |
||
Časová prodleva: 10 let
|
0