| 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: 12 let
|
|||
0