trim omschrijving
Op mijn site kunnen gebruikers artikelen plaatsen. Nu wil ik de omschrijving ook echo'en in de keywords meta tag. Dat gaat opzich prima:
<META NAME="keywords" CONTENT="">
Stel dit is een artikel omschrijving:
//
Heel leuk vrolijk blouseje. Vrolijke kleuren, leuke details. Kan 't hele jaar door gedragen worden, zelf deed ik er in 't najaar een zalm kleurig shirtje met lange mouwen onder en liet ik 't blousje open staan. Echt vlot! Als nieuw Maat 80
//
Dan geeft hij het zo weer:
<META NAME="keywords" CONTENT="Heel, leuk, vrolijk, blouseje.
Vrolijke, kleuren,, leuke, details.
Kan, 't, hele, jaar, door, gedragen, worden,, zelf, deed, ik, er, in, 't, najaar, een, zalm, kleurig, shirtje, met, lange, mouwen, onder, en, liet, ik, 't, blousje, open, staan.
Echt, vlot!
Als, nieuw,
Maat, 80">
Waarom haalt hij de Enters niet weg? Daarnaast moet hij ook tekens als . ' ! en komma's die in de beschrijving staan weghalen.
Iemand een idee?
Edit: Oeps zat niet na te denken alles aan begin en einde idd :P
maaruh als je meer dan 25 keywords hebt ofzo beschouwd google dat als spam en worden die niet gebruikt. Dus heeft niet zo'n zin.
Gewijzigd op 01/01/1970 01:00:00 door - Ricardo -
Niet de whitespaces tussen de woorden.
Dit is overigens alleen als test bedoeld. Het worden natuurlijk minder keywords.
maar hoe kan ik dat doen dat hij ook tekens als: . ' ! ( ) en komma's die al in de omschrijving staan weghaalt?
str_replace
Gewijzigd op 01/01/1970 01:00:00 door Stefan
Ja dat snap ik, maar kun je me helpen hoe de code dan verder wordt?
Kijk, een voorbeeld.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$string = ' Er staat een paard in de '. PHP_EOL .'gang'. PHP_EOL . PHP_EOL . PHP_EOL ;
$string2 = trim($string);
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string .'</pre>';
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string2 .'</pre>';
?>
$string = ' Er staat een paard in de '. PHP_EOL .'gang'. PHP_EOL . PHP_EOL . PHP_EOL ;
$string2 = trim($string);
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string .'</pre>';
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string2 .'</pre>';
?>
Hoe kan ik dat oplossen met str_replace en dan ook de tekens ! , . ( ) etc (die in de string staan)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$string = ' Er staat een paard in de '. PHP_EOL .'gang'. PHP_EOL . PHP_EOL . PHP_EOL ;
$string2 = trim($string);
$string3 = trimEnEntersWeglaten($string);
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string .'</pre>';
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string2 .'</pre>';
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string3 .'</pre>';
function trimEnEntersWeglaten($string)
{
$vervangenDoor = ''; // of eventueel = ' '
return trim( str_replace(PHP_EOL, $vervangenDoor, $string) );
}
?>
$string = ' Er staat een paard in de '. PHP_EOL .'gang'. PHP_EOL . PHP_EOL . PHP_EOL ;
$string2 = trim($string);
$string3 = trimEnEntersWeglaten($string);
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string .'</pre>';
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string2 .'</pre>';
echo '<pre style="margin: 2px; padding: 0x; background-color: #bbbbbb;">'. $string3 .'</pre>';
function trimEnEntersWeglaten($string)
{
$vervangenDoor = ''; // of eventueel = ' '
return trim( str_replace(PHP_EOL, $vervangenDoor, $string) );
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$illegalchars = array(".", "'", '"',"!", "\n");
$replacewith = array("", "", "", "");
$string = explode(" ", str_replace($illegalchars, $replacewith, "Heel leuk vrolijk blouseje. Vrolijke kleuren, leuke details. Kan 't hele jaar door gedragen worden, zelf deed ik er in 't najaar een zalm kleurig shirtje met lange mouwen onder en liet ik 't blousje open staan. Echt vlot! Als nieuw Maat 80"));
echo implode(", ", $string);
?>
$illegalchars = array(".", "'", '"',"!", "\n");
$replacewith = array("", "", "", "");
$string = explode(" ", str_replace($illegalchars, $replacewith, "Heel leuk vrolijk blouseje. Vrolijke kleuren, leuke details. Kan 't hele jaar door gedragen worden, zelf deed ik er in 't najaar een zalm kleurig shirtje met lange mouwen onder en liet ik 't blousje open staan. Echt vlot! Als nieuw Maat 80"));
echo implode(", ", $string);
?>
Gewijzigd op 01/01/1970 01:00:00 door Stefan
Alleen geeft hij bij de woorden: "kleuren" en "worden" een dubbele komma. Wat doen we daar aan?
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
waarom staat die "\n" ertussen?
Een \n is een enter.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$illegalchars = array(".", "'", '"',"!", "(", ")", "\n", ",");
$replacewith = array("", "", "", "", "", "");
$string = explode(" ", str_replace($illegalchars, $replacewith, "Heel (leuk) vrolijk blouseje. Vrolijke kleuren, leuke details. Kan 't hele jaar door gedragen worden, zelf deed ik er in 't najaar een zalm kleurig shirtje met lange mouwen onder en liet ik 't blousje open staan. Echt vlot! Als nieuw Maat 80"));
echo implode(", ", $string);
?>
$illegalchars = array(".", "'", '"',"!", "(", ")", "\n", ",");
$replacewith = array("", "", "", "", "", "");
$string = explode(" ", str_replace($illegalchars, $replacewith, "Heel (leuk) vrolijk blouseje. Vrolijke kleuren, leuke details. Kan 't hele jaar door gedragen worden, zelf deed ik er in 't najaar een zalm kleurig shirtje met lange mouwen onder en liet ik 't blousje open staan. Echt vlot! Als nieuw Maat 80"));
echo implode(", ", $string);
?>
Heb het nu zo...
Hoevaak moet "" bij replacewith staan?
eventueel nog "\r" en "\t" toevoegen
ok en dan hoevaak "" moet er bij replacewith staan?
Of \n en \r vervangen door PHP_EOL en dan ook \t (voor tab) nog er bij doen.
matthew schreef op 25.08.2009 14:38:
ok en dan hoevaak "" moet er bij replacewith staan?
Even veel als er in $illegalchars staan
Overigens kun je beter een los veld aanmaken in je database voor keywords. Dan weet je qua SEO dat het goed komt... Dit is leuk verzonnen, maar gaat totaal NIET werken. (Qua SEO dan ;-))
Emmanuel Delay schreef op 25.08.2009 14:42:
Even veel als er in $illegalchars staan
matthew schreef op 25.08.2009 14:38:
ok en dan hoevaak "" moet er bij replacewith staan?
Even veel als er in $illegalchars staan
Omdat je alle $illegalchars wilt vervangen door dezelfde replacestring, is het handiger om van $replacewith geen list te maken, maar een string. Het is dan ook handiger om later nog illegalchars toe te voegen of te verwijderen.
Het volgende is dus voldoende: