Jump to content
php.lv forumi

splitoshana


smarty

Recommended Posts

probleema shaada:

ir teksts, piemeeram

aaa bbbb ccc "ddd eee" fff
ir nepiecieshams izdabuut noshaa stringa massiivu, kuram eleementi buutu, piemeeram,
$arr[] = 'aaa';

$arr[] = 'bbbb';

$arr[] = 'ccc';

$arr[] = 'ddd eee';

$arr[] = 'fff';

viss buutu labi, ja nebuutu to peedinju, jo ar taam apziimee vienu elementu.

Link to comment
Share on other sites

Vobšem šitais variants tīri labs, atliek tikai no pēdiņām atbrīvoties:

<?php
 $a = 'aaa bbbb ccc "ddd eee" fff';
 preg_match_all('@\w+|"[\w\s]+"@i', $a, $m);
 print_r($m);
?>
---
Array
(
   [0] => Array
       (
           [0] => aaa
           [1] => bbbb
           [2] => ccc
           [3] => "ddd eee"
           [4] => fff
       )

)

Link to comment
Share on other sites

+ veel viena liidiziga probleeminja

vajag no teksta izmest aaraa tukshaas rindas, kuras atkaartojas

piemeers, ir teksts

asdasdas

asds

 

sdddssd

 

 

 

 

asdasdassadas

rezultaatam jaabuut
asdasdas

asds

 

sdddssd

 

asdasdassadas

ieverojot ka taas daudzaas jaaizstaaj ar vienu

 

meegjinaaju ar

preg_replace("/[\r\n]+[\s\t]*[\r\n]+/", "\r\n", $body);

bet tas aizvaac visas..

Link to comment
Share on other sites

hmm, man nezkāpēc mans piemērs strādā... Īsti nesapratu, tev vajag visus enterus, kuri atkārtojās aizstāt ar vienu (kam arī rakstīju to regexpu)? Vai ja ir 3 vai vairāk enter, tad aizstāt tos ar diviem? Ja pēdējais variants, tad takš loģiski drusku pamaini izteiksmi: preg_replace("@[\r\n]{3,}@m", "\r\n\r\n", $text);

Link to comment
Share on other sites

labi, ja jau shodien par to iesaaku, tad gribu pabeigt liidz galam.

man tagad ir

preg_match_all('@[\wēūīōāšģķļžčņ]+|"[\wēūīōāšģķļžčņ\s]+"@ui', ...

 

bet ja man vajag atljaut arii nestandarta simbolus? (vispaar visus iznjemot speisu) vai ir kaads veids kaa to te panaakt?

Link to comment
Share on other sites

×
×
  • Create New...