Τετάρτη 4 Νοεμβρίου 2015

[PHP Snippet] Αλλαγή των URL συγκεκριμένων Link

Σε περίπτωση μαζικής αλλαγής links (πχ, μεταφορά blog), αν θέλουμε να αλλάξουμε όλα τα link, είναι δύσκολο να γίνει με το χέρι, ειδικά σε περιπτώσεις που έχουμε πάρα πολλούς εσωτερικούς συνδέσμους. Ένας εύκολος τρόπος, είναι χρησιμοποιώντας το παρακάτω snippet:
(πριν το snippet, να πω το κλασσικό οτι κατα πάσα πιθανότητα δεν δουλεύει σε ΟΛΕΣ τις περιπτώσεις, οπότε κάποια link θα σας ξεφύγουν. 100%. Μην πείτε οτι δεν σας προειδοποίησα! :P )


 $regexp = "<a\s[^>]*src=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
 if(preg_match_all("/$regexp/siU", $postbody, $matches, PREG_SET_ORDER)) {
  foreach($matches as $match) {
   // $match[2] = το URL που βρέθηκε στο A tag
   // $match[3] = το κείμενο που βρέθηκε στο A tag
   $isin = strpos($match[2], "dimitrisp.eu/blog"); //Εδώ μπαίνει το αρχικό link
   if ($isin !== FALSE) {
    $thislink = str_replace("http://dimitrisp.eu/blog", "", $match[2]); //Κι εδώ μπαίνει το αρχικό link... Θα μπορούσαμε να το τρέξουμε κατευθείαν, αλλα σώζει πόρους σε περίπτωση εκατοντάδων συνδέσμων.
    $thislink = str_replace(".html", "", $thislink); //Όπου .html, βάζουμε την κατάλληξη που είχαμε στα αρχεία του blog. Αν δεν είχε κατάλληξη, τότε απλά κάνουμε σχόλιο αυτή τη γραμμή.
    //Internal link detected... Post's slug is: $thislink
    $thislink = "http://blog.dimitrisp.eu/" . $thislink; // Όπου http://blog.dimitrisp.eu/, μπαίνει το καινούριο URL.
    $postbody = str_replace($match[2], $thislink, $postbody);
   }
  }
 }

Και επειδή φαίνεται χάλια εδώ, δείτε το στο Github!

Share this

1 Response to "[PHP Snippet] Αλλαγή των URL συγκεκριμένων Link"

  1. Dealers follow a fixed and fast|a set} algorithm which decide whether a third card is drawn, so the one decision for the participant to make is which hand to bet on, and the way much to wager. If both the 카지노 participant or banker is dealt a complete of eight or 9, each the participant and banker stand. I'm feeling fairly good after that big win, so I'm gonna double my bet going back to the participant sticking with what worked. I see some individuals are flipping to the bank and our third possibility right here we're really half in} the tie.

    ΑπάντησηΔιαγραφή