Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt podmiany meta kaywords
Forum PHP.pl > Forum > PHP
kaito
Witam

przejżałem trochę forum i nie umiem znaleźć ale mam własne pomysły ale potrzebuje pomocy.

Problem:
Udało mi się wygenerować w sklepie na 3000 produktów meta tag kaywords z tytułu ale pojawił się problem ponieważ nie ma przecinków a tylko spacje po każdym wyrazie. Przeklikanie 3k produktów i nadanie w jednym polu od 4 do 10 przecinków to nie realne, nie efektywne i na pewno jest na to milion sposobów :D.

Rozwiązanie:
Zamiana spacji na przecinki

Pomysły:
Chciałem skorzystać z funkcji standardowych
str_replace

Znalazłem nawet coś bardzo interesującego i jest to w tym miejscu : http://www.php.net/manual/en/function.str-replace.php#104072

Założyłem, że moim input jest coś takiego:

  1. $input = "<meta name="Keywords" content="jakaś nazwa produktu kod producenta producent kategoria">";


I tu mam problem następujący, "jakaś nazwa produktu kod producenta producent kategoria" to jest zmienna dla każdej strony i podstrony portalu.

Nie wiem jak to zrobić ale już widzę, że nawet jak uda mi się pobrać tą zmienną z każdej strony do input to w przypadku:
  1. between_replace ('<meta name="Keywords" content="','">', $input, "{*}");
  2. between_replace ('<meta name="Keywords" content=\'','\'>', $input, "{*}");
  3. between_replace ('<meta name="Keywords" content=','>', $input, "'{*}'");


Efektem będzie to:
  1. $result == array ('jakaś nazwa produktu kod producenta producent kategoria');

a ja chcę przecież żeby było tak:
  1. $result == array ('jakaś, nazwa, produktu, kod, producenta, producent, kategoria');


Mógłby mi ktoś pomóc?
Ukierunkować, może coś napisać, sprawdzić jak to wywołać jak to rozbić, jak to pobrać w całości...





vokiel
Wygenerowałeś dla każdego produktu plik html? Czy masz te keywordy w bazie danych?
kaito
Baza danych
ShadowD
Och człowieku, pobierasz wpisy, wyciągasz wyrażeniami regularnymi opis i w nim zamieniasz spacje na przecinki.
kaito
Cytat(ShadowD @ 12.01.2012, 20:17:50 ) *
Och człowieku, pobierasz wpisy, wyciągasz wyrażeniami regularnymi opis i w nim zamieniasz spacje na przecinki.


A mógłbyś zaproponować jakiś kod bo nie pomogło mi to.
W dodatku zapomniałem dodać wcześniej, że ta sytuacja dziś ma 3000 postów a docelowo ma ich być 15000 i nie chce zrobić czegoś raz a potem będęmiał zrobione - nie zrobione.
Bardziej chodzi mi o funkcje która zmienia dane podczas wyświetlania jak np. [OH] podmian istniejących.
vokiel
Ale Ty w bazie danych trzymasz same keywordy czy cały kod html?
  1. <meta name="Keywords" content="jakaś nazwa produktu kod producenta producent kategoria">

Jeśli same keywordy to wystarczy explode i implode.
kaito
Dobra faktycznie zatkałem się wcześniej masz racje prostota jest najważniejsza.

  1. $string = $header_tags_array['keywords'];
  2. $exp = explode(" ",$string);
  3. $final = implode(",",$exp);
  4. echo ' <meta name="Keywords" content="' . $final . '">' . "\n";


Pytanie czy są tego wady?
Uriziel01
Swoją drogą po co te keywords ? Ani Google ani Yahoo tego nawet nie używają. Chyba że dla własnej satysfakcji, to co innego smile.gif

A wracając do tematu, to, to co pokazałeś to z pewnością nie jest prostota, dzielisz string na tablicę tylko po to aby natychmiast po tym go połączyć, co złego było w wyrażeniach regularnych albo chociażby str_replace ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.