Miten saan poistettua $sivu muuttujasta ylimääräiset välilyönnit ja rivinvaihdot.
Jättäisi ainoastaan yhden välilyönnin joka sanan väliin...
Ei millään muista millä funktiolla tuo onnistuu...
Eli muuttujassa oleva tieto on:
teksti joo kyllä
jooo eo ksiksi fjjfjj
Yksi tapa on käyttää säännöllistä lauseketta:
<?php $teksti = "eka toka kolmas\n \nneljäs viides\n kuudes"; $teksti = preg_replace("/[ \\n\\r]+/", " ", $teksti); echo "<pre>$teksti</pre>"; ?>
Nyt kaikki välilyöntien ja rivinvaihtojen yhdistelmät muutetaan yhdeksi välilyönniksi.
Vielä olisi sellainen ongelma, kun haen muuttujaan internetsivun sisällön, niin pitäisi saada pois java script ja css koodit.
Haen sivun:
$sivu = file_get_contents($osoite);
Poista html koodin:
$sivu = strip_tags($sivu)
Onko tuohon koodin poistoon jotakin parempaa systeemiä, niin saisi sivun sisällöstä ainoastaan tekstin näkyviin.
Sokkolainaus omista vanhoista koodeista:
<?php $this->content = preg_replace('/<style[^>]*>[^<]+<\\/style>/i', ' ', $this->content); $this->content = preg_replace('/<script[^>]*>[^<]+<\\/script>/i', ' ', $this->content); ?>
Muuten toimii hienosti, mutta nuo tradedoubler palvelun mainokset ei lähde...
Yritin monella eri tavalla, mutta ei mene sitten millään jakeluun miten tuota pitäisi muuttaa, että saisi tuon allaolevan koodin pois...
<script language="javascript"> var uri = 'http://impfi.tradedoubler.com/imp/pool/js/1454/37590?' + new String (Math.random()).substring (2, 11); document.write('<sc'+'ript language="JavaScript" src="'+uri+'" charset="ISO-8859-1"></sc'+'ript>'); </script>
Onko tuossa itse java scriptissä joku mekkki mikä sotkee tuon poiston, vai mistähän tuo kiikastaa...
$sivu = file_get_contents("http://majakat.com"); $sivu = preg_replace('/<script[^>]*>[^<]+<\\/script>/i', ' ', $sivu); Print"$sivu";
Tuossa tuo toimimaton koodi pähkinänkuoressa.
Siis tuolla sivun osoitteella ei ole väliä, vaan tuo majakat.com on tuossa vain esimerkkinä, sillä tuolla on kanssa noita mainoksia, jotka yritän poistaa...
Sain tuon pois seuraavalla ratkaisulla...
Jos muilla tarvetta, niin tuossa alhaalla se olisi...
$sivu = preg_replace('/<!--.+?-->/','',$sivu); $sivu = preg_replace("'<script[^>]*?>.*?</script>'si", "", $sivu);
Kiitokset vaivannäöstä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.