Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako prepoloviti string da dva dijela?

[es] :: PHP :: Kako prepoloviti string da dva dijela?

[ Pregleda: 2608 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_CaRtMan_

Član broj: 126731
Poruke: 305
62.68.110.*



+1 Profil

icon Kako prepoloviti string da dva dijela?08.11.2009. u 14:36 - pre 175 meseci
Kako najbolje prepoloviti string na dva dijela? Zelim da izmedju ubacim Google Adsense reklamu pa ne znam kako bih. Ako imam clanak od 1000 znakova zelim da pola prikazem (zavrsi recenicu) pa ubaci reklamu, pa nastavi od nove recenice do kraja.

Hvala.
 
Odgovor na temu

ColdKeyboard
Sasa Karanovic
Hardware and Firmware Engineer
Toronto, Canada

Član broj: 31924
Poruke: 868
*.dynamic.sbb.rs.

Jabber: ColdKeyboard
Sajt: www.SasaKaranovic.com


+11 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 14:57 - pre 175 meseci
http://www.php.net/manual/en/function.strpos.php
http://www.php.net/manual/en/function.strlen.php

Nisam nikad imao potrebu da to radim ali mozes recimo da izracunas duzinu stringa, prepolovis broj i onda uradis strpos da trazi '.' ali offset stavis polovinu duzine stringa.
Kad nadjes uzmes dio stringa od pocetka do dijela koji ti strpos vrati i onda ga obradjujes.
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 15:03 - pre 175 meseci
Koristi regular expressions. Malo su tezi da se nauce, ali vrede za sve pare.

Primer (verovatno nije ispravan jer pisem napamet):

Code:

$text = 'neki moj clanak itd itd' ; // nek recimo ima 1000 karaktera
$newText = preg_replace('/^([.*]{500,})(.*+)$/', '$1' . $adSense . '$2', $text) ;


Ovaj primer bi trebalo da brutalno ubaci oglas na tacno 500 karaktera.

Aj da probam da nadje novi pasus; nek recimo svaki pasus pre toga ima tacku:
Code:

$newText = preg_replace('/^([.*]{500,}\.)(.*+)$/', '$1' . $adSense . '$2', $text) ;


Kazem, verovatno ne radi jer su reg exp jako teski i pisem napamet, ali ovo ti neka osnova za razmisljanje
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 16:25 - pre 175 meseci
ja bi odradio explode() po "." ili " " (prazno polje) a zatim $text = $prva_polovica.$adsense.$druga_polovica.
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 16:44 - pre 175 meseci
Citat:
vatri: ja bi odradio explode() po "." ili " " (prazno polje) a zatim $text = $prva_polovica.$adsense.$druga_polovica.


Ako stavi prazno polje, dobice brdo reci u nizu. Kako da to spoji?
Ako stavi tacku, onda moze da prebroji recenice u nizu i tako ih spoji. Ali je to mnogo vise koda i morao bi implode ili da koristi array_splice. Mislim da je moje resenje u jednom redu najbolje.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-4.sezampro.rs.



+33 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 17:57 - pre 175 meseci
A može i ovako:
Code:
$pozTacka = strpos($text, '.', 500);
$text = substr($text, 0, $pozTacka) . $adSense . substr($text, $pozTacka + 1);
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 20:03 - pre 175 meseci
Citat:
Nikola Poša: A može i ovako:
Code:
$pozTacka = strpos($text, '.', 500);
$text = substr($text, 0, $pozTacka) . $adSense . substr($text, $pozTacka + 1);



Hehe... u pravu si, najbolja resenja su ponekad najjednostavnija
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
93.86.206.*

Sajt: www.gvozden.info


+68 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 21:50 - pre 175 meseci
Stvar je prosta ukoliko je clanak samo tekst.
Medjutim, cesto je clanak u html formi, a ukoliko se koriste wysiwyg editori vrlo cesto ce imati <p> tagove.
U takvom slucaju ja bih tekst delio po paragrafima, dobio bih n delova, pa posle sredine ubacio reklame.

ili, ispitati broj paragrafa, pa primeniti gornje funkcije...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-4.sezampro.rs.



+33 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 21:56 - pre 175 meseci
Naravno, al' može i to da se reši. Jedan od načina je taj koji si ti predložio, a drugi bi bio npr. zatvaranje "zaostalih" tag-ova unutar nekog string-a. Čini mi se da je Nemanja Avramović pre nekog vremena negde na PHP forumu post-ovao jednu takvu njegovu funkciju.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
109.93.0.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Kako prepoloviti string da dva dijela?08.11.2009. u 22:23 - pre 175 meseci
Yep, to je ova poruka: http://www.elitesecurity.org/p2414959
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

_CaRtMan_

Član broj: 126731
Poruke: 305
62.68.111.*



+1 Profil

icon Re: Kako prepoloviti string da dva dijela?09.11.2009. u 22:18 - pre 175 meseci
Hvala svima. Pozdrav :)
 
Odgovor na temu

[es] :: PHP :: Kako prepoloviti string da dva dijela?

[ Pregleda: 2608 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.