Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dzielenie tekstu na dwie równe części
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


Witam mam próbuje podzielić tekst na dwie równe części i między ten tekst wstawić reklamę

Zrobiłem ale to nie jest najlepsze rozwiązanie ponieważ dzieli źle wyrazy np. jak mam test to wychodzi t est itp. czy można to zrobić lepiej ?

  1. $news = "TEST TEST TEST TESTTTTTTT TES TSTST";
  2.  
  3. $ceil = ceil(strlen($news) / 2);
  4.  
  5. $news = str_split($news, $ceil);
  6.  
  7.  
  8. $reklama = "<script type=\"text/javascript\"><!--
  9. google_ad_client = \"pub-3995387288904286\";
  10. /* 160x90, utworzono 10-09-24 */
  11. google_ad_slot = \"1776115406\";
  12. google_ad_width = 160;
  13. google_ad_height = 90;
  14. //-->
  15. </script>
  16. <script type=\"text/javascript\"
  17. src=\"http://pagead2.googlesyndication.com/pagead/show_ads.js\">
  18. </script>";
  19.  
  20.  
  21.  
  22. $news = $news[0]."<div style='text-align:center;'></br>".$reklama."<div></br>".$news[1];


Ten post edytował arzach 5.10.2010, 19:17:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qrzysztof
post
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

Ostrzeżenie: (0%)
-----


Mało założeń żeby wyrokować co jest potrzebne.

Ale można zrobić np tak:

  1. $exploded=explode(' ', $news);
  2.  
  3. $countAll=count($exploded);
  4. $countHalf=ceil($countAll/2);
  5.  
  6. for ( $i=0; $i <$countAll ; $i++ )
  7. {
  8. if ( $i<$countHalf )
  9. {
  10. $firstPart.=$exploded[$i].' ';
  11. }
  12. else
  13. {
  14. $secondPart.=$exploded[$i].' ';
  15. }
  16. }


Zamiast funkcji explode() można użyć np preg_split(), która wyłapie i usunie wielokrotne spacje.

Dużo zależy od długości tekstu. Zakładam, że będzie długi.

Ten post edytował qrzysztof 5.10.2010, 19:48:15
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 08:33