Jag som inte kan php tycker att din str_replace borde se ut så här:
$txtStr = str_replace(":::", "\n%%%", $txtStr);
Mvh
2 svar · 223 visningar · startad av aasah
Jag har ett skript som omvandlar en textfil med ett frågesportsutkast som är lättläst för folk, till ett format som är lättare att behandla för datorn. Enligt nedan:
$txtStr = file_get_contents($filnamn);
$txtStr = preg_replace("/\n[\d]+\)/", "::Q::\n", $txtStr);
$txtStr = preg_replace("/\* |# /", "#A#\n", $txtStr);
$txtStr = str_replace("/:::/", "\n%%%", $txtStr);
echo nl2br("$txtStr");
Det sista str_replace:t vill inte! Varför?
Den fil jag läser in (eller snarast en dummyfil som har samma format och beter sig likadant, men är åtskilligt kortare):
Vad geter Hans syster?
* Greta ::: 1
* Klara
* AnnaI vad bor häxan?
* En hatt.
* Ett pepparkakshus. ::: 1
* En jordkula.
Resulterar i:
::Q::
Vad geter Hans syster?
#A#
Greta ::: 1
#A#
Klara
#A#
Anna::Q::
I vad bor häxan?
#A#
En hatt.
#A#
Ett pepparkakshus. ::: 1
#A#
En jordkula.
Men VARFÖR i fridens namn utförs inte sista str_replace:t??? 'xxx :::' borde ju bli
'xxxx
%%%' eller? Vad är det jag inte ser???
Jag som inte kan php tycker att din str_replace borde se ut så här:
$txtStr = str_replace(":::", "\n%%%", $txtStr);
Mvh
Tack, @nders!
Att man kan bli så blind... Vådan av att snabbt inse att man kan byta från preg_replace till str_replace... suck.