Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt podmiany meta kaywords, Podmiana spacji w słowach kluczowych na przecinki
kaito
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.09.2009

Ostrzeżenie: (0%)
-----


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...





Go to the top of the page
+Quote Post
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Wygenerowałeś dla każdego produktu plik html? Czy masz te keywordy w bazie danych?


--------------------
Go to the top of the page
+Quote Post
kaito
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.09.2009

Ostrzeżenie: (0%)
-----


Baza danych
Go to the top of the page
+Quote Post
ShadowD
post
Post #4





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Och człowieku, pobierasz wpisy, wyciągasz wyrażeniami regularnymi opis i w nim zamieniasz spacje na przecinki.


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
kaito
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.09.2009

Ostrzeżenie: (0%)
-----


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.

Ten post edytował kaito 12.01.2012, 20:35:26
Go to the top of the page
+Quote Post
vokiel
post
Post #6





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
kaito
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 14.09.2009

Ostrzeżenie: (0%)
-----


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?

Ten post edytował kaito 13.01.2012, 01:37:37
Go to the top of the page
+Quote Post
Uriziel01
post
Post #8





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował Uriziel01 13.01.2012, 07:34:24
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:33