preg_replace en zoeken
Vraag 1:
stel, ik heb een stukje tekst:
"Adsl-modem
Apparaat dat de adsl-datastroom van een gewone telefoon oppikt en omzet naar (meestal) een usb-signaal. Andersom kan het modem uiteraard ook gegevens op de telefoonlijn plaatsen. De adsl-datastroom bevindt zich buiten het frequentiegebied van gewone spraak, en zal dus niet storen op de telefoon. Wel is een zogeheten splitter nodig die ervoor zorgt dat de 'opgewaardeerde' telefoonlijn bij een adsl-abonnee keurig gesplitst wordt in een laagfrequent 'ouderwets' spraakdeel en een hoogfrequent adsl-signaal."
In dit stukje tekst wil ik elk woord ADSL (met hoofd en of kleine letters) vervangen door <span class='searchlite'>{Hier het woord met de gevonden hoofd en of kleine letters}</span>.
Ik heb het nu wel voor elkaar, maar dan zit ik met het probleem dat als ik zoek op AdSl en in de tekst staat ADSL, dat de ADSL van de tekst ook ineens staat als AdSl. Dat wil ik dus voorkomen.... Kan iemand mij vertellen hoe??
Vraag 2:
Uit een MySqlDatabase wil ik zoeken op het woord ADSL dat in 2 velden kan staan. Het veld Title en het veld Text. In mijn database staat een item met als title ADSL. Met mijn huidige zoekmethode, krijg ik die niet te zien...
Dit voer ik dus uit op mijn pagina, maar zie alleen het item waarin ALLEEN adsl als title staat niet te zien. Iemand een idee???
$woord = strtoupper($woord);
Zet het woord om in hoofdletters.
(je query klopt dus als het beginstukje enkel ingekort was voor de duidelijkheid)
Maar, "text" is een reserved woord, dus moet je vervangen of tussen backticks zetten.
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
Kalle:
Vraag 1:
$woord = strtoupper($woord);
Zet het woord om in hoofdletters.
$woord = strtoupper($woord);
Zet het woord om in hoofdletters.
Nee. dat is niet wat ik zoek. ik bedoel dus, dat als ik zoek op de tekst adsl en in de tekst het staat als AdSl (ff omgedraaid voor de duidelijkheid), dat ik gewoon AdSl wil blijven zien, maar dan met de span-tags er rondomheen...
PHPerik:
SELECT *
Maar, "text" is een reserved woord, dus moet je vervangen of tussen backticks zetten.
Maar, "text" is een reserved woord, dus moet je vervangen of tussen backticks zetten.
ik weet dat text en gereserveerd woord is, dat is het probleem ook niet, want ik krijg dus op een woord (met beschrijving) na alle gegevens zoals ik ze wil hebben. en het gaat mij dus juist om die ene die ik niet krijg...
Gewijzigd op 01/01/1970 01:00:00 door Chris
Code (php)
1
select * from ea_encyc_text where MATCH (title,`text`) AGAINST ('{$word}' IN BOOLEAN MODE) AND approved=1
nu gebruik ik de volgende functie voor het hightliten van de woorden bij het zoeken, maar die vindt nog net niet alles...
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
function search_result($tekst,$str)
{
$replace = strrev($str);
$tekst = str_replace($str,"<span class='searchlite'>".$replace."</span>",$tekst); // STRING OMDRAAIEN, OMDAT DEZE AND
$tekst = str_replace($replace,"<span class='searchlite'>".$str."</span>",$tekst);
return $tekst;
}
{
$replace = strrev($str);
$tekst = str_replace($str,"<span class='searchlite'>".$replace."</span>",$tekst); // STRING OMDRAAIEN, OMDAT DEZE AND
$tekst = str_replace($replace,"<span class='searchlite'>".$str."</span>",$tekst);
return $tekst;
}
bij beijvoorbeeld deze tekst:
Quote:
komt het er zo uit:ADSL
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
Quote:
als ik alleen heb gezocht op "adsl", terwijl het er zo uit moet komen:ADSL
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
Quote:
ADSL
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
Staat voor 'Asymmetric Digital Subscriber Line'. Adsl is een technologie voor het op hoge snelheid verzenden van data over de al bestaande telefoonlijnen.De kracht van adsl is dat het de relatieve eenzijdigheid van data-communicatie (zoals bij het browsen op internet) benut; bij de meeste abonnementsvormen is de dataontvangst (downstream) hoger dan de verzendsnelheid (upstream). Nadeel is dat een telefooncentrale eerst geschikt gemaakt moet worden voor adsl, en ook dat de afstand van centrale tot huisaansluiting niet al te groot mag zijn. Daarom zijn sommige plekken nog steeds niet voorzien van adsl. Ofwel de afstand naar de abonnees is te groot, of de belangstelling is te klein waardoor het economisch gezien niet interessant is om een centrale aan te passen.
Gewijzigd op 01/01/1970 01:00:00 door Chris