PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Array ja replace
Postitaja: joker 2016-03-25 23:58:02
Array järgmine ...

PHP kood:
 
$activity 
= array('LOAD''UNLOAD''FERRY''...');

foreach (
$activity AS $value)
{
    
//Find field
    
$find[] = $value.'>';

    
//Replace with ...
    
$replace[] = "<span class='activity'>".$value."></span>";
}


//Lähtetekst A.
$body = 'LOAD> Tallinna Linnahall FERRY> Tallink UNLOAD> Tartu';

//Asendamine
$body = str_replace($find, $replace, $body);

Tulemus:
$body = "<span class='activity'>LOAD></span> Tallinna Linnahall <span class='activity'>FERRY></span> Tallink <span class='activity'>UNLOAD></span> Tartu";

//Lähtetekst B. Märksõnade / activity järgi tekivad numbrid!
$body = 'LOAD1> Tallinna Linnahall LOAD2> Tartu';

Kuidas oleks mõistlik teha asendamine, et tulemuseks oleks ...
$body = '<span class='activity'>LOAD1></span> Tallinna Linnahall <span class='activity'>LOAD2></span> Tartu';

Viimati muudetud: 26-03-2016 00:00:47
Muutja: joker
Põhjus:

RE: Array ja replace
Postitaja: peaminister (R) 2016-03-26 11:37:06
TSITEERITUD:
Array järgmine ...

PHP kood:
 
$activity 
= array('LOAD''UNLOAD''FERRY''...');

foreach (
$activity AS $value)
{
    
//Find field
    
$find[] = $value.'>';

    
//Replace with ...
    
$replace[] = "<span class='activity'>".$value."></span>";
}


//Lähtetekst A.
$body = 'LOAD> Tallinna Linnahall FERRY> Tallink UNLOAD> Tartu';

//Asendamine
$body = str_replace($find, $replace, $body);

Tulemus:
$body = "<span class='activity'>LOAD></span> Tallinna Linnahall <span class='activity'>FERRY></span> Tallink <span class='activity'>UNLOAD></span> Tartu";

//Lähtetekst B. Märksõnade / activity järgi tekivad numbrid!
$body = 'LOAD1> Tallinna Linnahall LOAD2> Tartu';

Kuidas oleks mõistlik teha asendamine, et tulemuseks oleks ...
$body = '<span class='activity'>LOAD1></span> Tallinna Linnahall <span class='activity'>LOAD2></span> Tartu';


uuri, mida teeb sprintf()

$pattern = '<span class='activity'>LOAD%s></span> Tallinna Linnahall <span class='activity'>FERRY></span> Tallink <span class='activity'>UNLOAD%s></span> Tartu';

echo sprintf ( $pattern, '1', '2' );
RE: Array ja replace
Postitaja: blaa 2016-03-26 17:47:32

PHP kood:
 
$body 
'LOAD> Tallinna Linnahall FERRY> Tallink UNLOAD> Tartu
LOAD1> Tallinna Linnahall LOAD2> Tartu'
;
$activity = array( 'UNLOAD''LOAD''FERRY''...'); //vaheta 'LOAD' ja 'UNLOAD'

$result preg_replace('/(('.implode('|'array_map('preg_quote'$activity)).')([0-9]+)?>)/msU''<span class=\'activity\'>\1</span>'$body);

print_r(htmlentities($result));



> märgi asemel tuleks küll kasutada & gt; kui see sul html on
RE: Array ja replace
Postitaja: joker 2016-03-26 21:25:41
Aitäh, blaa. Sa oled parim!
RE: Array ja replace
Postitaja: blaa 2016-03-26 22:11:45
TSITEERITUD:
Aitäh, blaa. Sa oled parim!


Jah, tean. Aga sa pole küll aastatega kuskile poole arenenud. Progemine pole vist su põhitöö.
Võta vähemalt vaevaks mu kood jupphaaval endale selgeks teha. Pelgalt copy-pastet tehes toob see sind varsti järjekordse lihtsa probleemiga tagasi.
RE: Array ja replace
Postitaja: joker 2016-03-28 14:09:05
Jah, põhitöö on muu ... programmeerimine rohkem hobi asi ja rohkem stressi maandaja minu jaoks, ning igapäevast raha sellega ei teeni.

Sain sinu koodist aru, lihtne ja elegantne :) Patterneid nii harva vaja, ning tänu sellele ununeb mingi aeg õpitu kiiresti.

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0848169326782