replace με jquery

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

replace με jquery

Δημοσίευση από mpempe » 19 Οκτ 2012 03:29

Γεια σας

Προσπαθώ να κάνω replace με jquery τα σύμβολα < και > με τα αντίστοιχα κωδικοποιημένα &lt; και &gt;

βρήκα το παρακάτω script

http://jsfiddle.net/2EvGF/18/

μόνο που έχει ένα πρόβλημα που δε μπορώ να εξηγήσω.
Ενώ μου κάνει replace στο πρώτο <pre></pre> αντί να συνεχίσει στα επόμενα τα κλωνοποιεί.

Δε μπορώ να καταλάβω τι συμβαίνει.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

replace με jquery

Δημοσίευση από korgr » 19 Οκτ 2012 10:46

μήπως εννοείς κάτι τέτοιο;

Κώδικας: Επιλογή όλων

 
    &#40;function &#40;$&#41; &#123;

        $&#40;function &#40;&#41; &#123;
            var thePage = $&#40;"pre"&#41;;
            thePage.each&#40;function&#40;&#41;&#123;
                $&#40;this&#41;.html&#40;$&#40;this&#41;.html&#40;&#41;
                 .replace&#40;/</g, '&lt;'&#41;
                 .replace&#40;/>/g, '&gt;'&#41;
                &#125;&#41;;

             &#41;;
        &#125;&#41;;

    &#125;&#41;&#40;jQuery&#41;

Άβαταρ μέλους
greekbytes
WebDev Moderator
Δημοσιεύσεις: 2438
Εγγραφή: 15 Νοέμ 2002 15:42
Τοποθεσία: Αθήνα
Επικοινωνία:

replace με jquery

Δημοσίευση από greekbytes » 19 Οκτ 2012 12:52

Όπως το λέει ο korgr, αλλά αν πρόκειται να τα δείχνεις στο frontend σου καλύτερα να τα φτιάχνεις server-side και να σερβίρεις έτοιμα τα <pre> σου ώστε να μην εξαρτάσαι από την javascript για να φανεί σωστά το περιεχόμενο.

Αν είσαι σε php, ένα snippet για την ίδια δουλειά:

Κώδικας: Επιλογή όλων

//replaces pre content with html entities
function pre_entities&#40;$matches&#41; &#123;
	return str_replace&#40;$matches&#91;1&#93;,htmlentities&#40;$matches&#91;1&#93;&#41;,$matches&#91;0&#93;&#41;;
&#125;
//to html entities;  assume content is in the "content" variable
$content = preg_replace_callback&#40;'/<pre.*?>&#40;.*?&#41;<\/pre>/imsu',pre_entities, $content&#41;;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

replace με jquery

Δημοσίευση από dva_dev » 19 Οκτ 2012 15:31

Μήπως είναι το http://php.net/manual/en/function.htmlspecialchars.php που χρειάζεσαι;

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

replace με jquery

Δημοσίευση από mpempe » 19 Οκτ 2012 15:34

Korgr ευχαριστώ για την απάντηση

αυτό που θέλω να πετύχω είναι το:
<pre>
<p class="nickframe">nikos</p>
</pre>


να εμφανίζει κώδικα
πχ
<p class="nickframe">nikos</p>
κι όχι το αποτέλεσμα
nikos

Αυτό που θέλω να κάνω είναι να κάνω replace με jquery τα σύμβολα < και > με τα αντίστοιχα κωδικοποιημένα &lt; και &gt;

αυτό έχει σαν αποτέλεσμα να μη γίνεται render το html και να εμφανίζεται ο κώδικας όπως είναι
πχ εδώ http://jsfiddle.net/2EvGF/19/ με ένα <pre>

αν προσθέσω κι άλλο <pre> τα κλωνοποιεί αντί να αλλάζει μόνο τα σύμβολα
πχ εδώ http://jsfiddle.net/2EvGF/20/
επιστρέφει

<p class="nickframe">nikos</p>
<p class="nickframe">nikos</p>
<p class="nickframe">nikos</p>


ενώ θέλουμε

<p class="nickframe">nikos</p>
<p class="geoframe">george</p>
<p class="paulframe">pavlos</p>
Τελευταία επεξεργασία από το μέλος mpempe την 19 Οκτ 2012 15:37, έχει επεξεργασθεί 1 φορά συνολικά.

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

replace με jquery

Δημοσίευση από mpempe » 19 Οκτ 2012 15:36

dva_dev έγραψε:Μήπως είναι το http://php.net/manual/en/function.htmlspecialchars.php που χρειάζεσαι;

dva_dev δεν είναι php η σελίδα. Είναι απλή html. Γιαυτό το ψάχνω με jquery

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

replace με jquery

Δημοσίευση από Khronos » 19 Οκτ 2012 16:04

Από που τραβάς αυτό το περιεχόμενο? Με iframe?
Αν είναι απλή html γιατί δεν κάνεις αυτή τη διαδικασία κατευθείαν στον κώδικα?

Μπορεί να λέω και βλακείες αλλά δεν έχεις εξηγήσει γιατί ακριβώς θέλεις να το κάνεις αυτό.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

replace με jquery

Δημοσίευση από korgr » 19 Οκτ 2012 16:22

Και γιατί δεν τα βάζεις όλα σε ένα pre?

http://jsfiddle.net/2EvGF/21/

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

replace με jquery

Δημοσίευση από mpempe » 19 Οκτ 2012 19:07

korgr έγραψε:Και γιατί δεν τα βάζεις όλα σε ένα pre?

http://jsfiddle.net/2EvGF/21/
Ναι σωστά, αλλα δε βολευει. Τα <pre> θα είναι αρκετά σε διάφορα σημεία της σελίδας.
Khronos έγραψε:Από που τραβάς αυτό το περιεχόμενο? Με iframe?
Αν είναι απλή html γιατί δεν κάνεις αυτή τη διαδικασία κατευθείαν στον κώδικα?

Μπορεί να λέω και βλακείες αλλά δεν έχεις εξηγήσει γιατί ακριβώς θέλεις να το κάνεις αυτό.
Είναι απλή html σελίδα

Θα έχει κειμενο και σε αρκετά σημεία το <pre> θα είναι πλαίσια με html κώδικα.
Θα μπορούσα βέβαια να αντικαταστήσω με το χέρι τα > και < αλλα είναι μεγάλος ο όγκος και έλεγα μήπως θα μπορούσε να γίνει με jquery.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

replace με jquery

Δημοσίευση από korgr » 19 Οκτ 2012 19:23

Αφού από ότι κατάλαβα θες να δείχνεις κώδικα, μην ανακαλύπτεις τον τροχό, χρησιμοποίησε κάτι σαν το http://webcodingstudio.com/blog/jquery- ... ght-plugin

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

replace με jquery

Δημοσίευση από dva_dev » 19 Οκτ 2012 19:32

Ισως μπορεί να σε βοηθήσει κάποιος text editor που να έχει find & replace.

mpempe
Δημοσιεύσεις: 156
Εγγραφή: 23 Ιουν 2003 02:48
Τοποθεσία: peloponisos

replace με jquery

Δημοσίευση από mpempe » 19 Οκτ 2012 21:28

korgr έγραψε:Αφού από ότι κατάλαβα θες να δείχνεις κώδικα, μην ανακαλύπτεις τον τροχό, χρησιμοποίησε κάτι σαν το http://webcodingstudio.com/blog/jquery- ... ght-plugin
Korgr η πρόταση σου με κάλυψε μια χαρά.
Ευχαριστώ πάρα πολύ.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης