PHP substing rewrite and explode

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

PHP substing rewrite and explode

Δημοσίευση από alou » 13 Μαρ 2017 16:55

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

Είπες ότι
Ναι το input μου είναι string με διάφορα μεγέθη.
οπότε λογικά, θες να επιστραφεί ένα array με διορθωμένα τα μεγέθη. Αν δεν θες array, τι θες? και τι είναι αυτό που θα δώσεις σαν παράμετρο?

urahara
Δημοσιεύσεις: 149
Εγγραφή: 11 Δεκ 2011 22:53
Επικοινωνία:

PHP substing rewrite and explode

Δημοσίευση από urahara » 20 Μαρ 2017 17:10

λοιπόν ας γίνω εντελώς συγκεκριμένος.. πρόκειται για ένα xml αρχείο που σε κάθε product έχει ένα element <size>S, M, XL, XXL</size> αλλά πολλές φορές έχει για άλλα προϊόντα <size>Small, Medium, XLarge</size> εγώ θέλω να ορίσω ποια μεγέθη θα χρησιμοποιηθούν και να μετατρέψω οποιοδήποτε άλλο στο επιθυμητό.. άρα το @data είναι το string μέσα στην ετικέτα size. Αυτό θέλω να γίνεται για κάθε προϊόν.. Επίσης θέλω να σπάω τα string ώστε να φτιάχνω φίλτρα για να καλώ ανά μέγεθος τα προϊόντα.. Δηλαδή να φτιάχνω ξεχωριστά attributes S M L κτλ. Δε βρίσκω πως αλλιώς θα μπορούσα να το περιγράψω.. Ευχαριστώ.. Εν τω μεταξύ τώρα θα δοκιμάσω στον κώδικα που μου παρέθεσες να αλλάξω το

return $sizes

με

echo '<pre>';
var_dump($sizes);
echo '</pre>';

μήπως δουλέψει..

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

PHP substing rewrite and explode

Δημοσίευση από fafos » 20 Μαρ 2017 18:18

kane kati pio aplo...

dose se mia array oles tis metafraseis pou pithanon tha yparxoun.. p.x.:

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

$sizesTranslate = array&#40;
"small" => "mikro",
"large"=>"megalo",
"extra large"=>"poly megalo",
"S" => "mikro",
"L"=>"megalo",
"XL"=>"poly megalo",

&#41;;
meta me ena foreach "metafrazeis" ta megethi:

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

foreach&#40;$sizes as $size&#41;&#123;
echo $sizesTranslate&#91;$size&#93;;
&#125;
opoy $sizes ta megethi poy pairneis apo to xml
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

urahara
Δημοσιεύσεις: 149
Εγγραφή: 11 Δεκ 2011 22:53
Επικοινωνία:

PHP substing rewrite and explode

Δημοσίευση από urahara » 20 Μαρ 2017 21:31

και το explode που γίνεται σε αυτόν τον κώδικα; Τα strings θέλω να σπάνε σε ξεχωριστά μεγέθη στο output..

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

PHP substing rewrite and explode

Δημοσίευση από fafos » 21 Μαρ 2017 11:38

urahara έγραψε:και το explode που γίνεται σε αυτόν τον κώδικα; Τα strings θέλω να σπάνε σε ξεχωριστά μεγέθη στο output..
to $sizes prokyptei apo to explode tou string... enoeitai oti exeis parei me kapoion tropo to string "sizes" apo to xml kai me to explode sto koma to exeis metatrepsei sthn array $sizes.
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

urahara
Δημοσιεύσεις: 149
Εγγραφή: 11 Δεκ 2011 22:53
Επικοινωνία:

PHP substing rewrite and explode

Δημοσίευση από urahara » 22 Μαρ 2017 00:01

μπορείς να μου το γράψεις ολοκληρωμένο; Γιατί εξαρχής το πρόβλημά μου είναι στο συνδυασμό των δύο πράξεων (explode και translate). Ξεχωριστά ξέρω να τα κάνω.. μπορείς να μου γράψεις ολοκληρωμένα πως θα το έγραφες μαζί με το explode από όπου προκύπτει το sizes; Ευχαριστώ

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

PHP substing rewrite and explode

Δημοσίευση από fafos » 22 Μαρ 2017 00:22

urahara έγραψε:μπορείς να μου το γράψεις ολοκληρωμένο; Γιατί εξαρχής το πρόβλημά μου είναι στο συνδυασμό των δύο πράξεων (explode και translate). Ξεχωριστά ξέρω να τα κάνω.. μπορείς να μου γράψεις ολοκληρωμένα πως θα το έγραφες μαζί με το explode από όπου προκύπτει το sizes; Ευχαριστώ
exeis parei to <sizes>...</sizes> apo to xml?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

urahara
Δημοσιεύσεις: 149
Εγγραφή: 11 Δεκ 2011 22:53
Επικοινωνία:

PHP substing rewrite and explode

Δημοσίευση από urahara » 22 Μαρ 2017 00:49

το θεμα μου είναι πως θέλω να εφαρμόσω ένα function πάνω στο <size>...</size> μέσω plugin καλώντας το έτσι σε πεδίο του plugin: [function_name({size[1]})] θέλω το function να κάνει αυτά τα δύο πράγματα στο size. Explode και translate

έκανα αυτό και με βάση τα όσα μου πες αλλά δεν επιστρέφει κάτι.. ($data όπου $size, map όπου sizestranslate)

function size($data) {
$sizes = explode (",", $data);
$map = array(
"SMALL"=>"S",
"Medium/large"=>"M/L",
"XL (42)"=>"XL",
"XL (UK 16)"=>"XL",
"XS (UK 8)"=>"XS",
"XS/"=>"XS",
"one size"=>"One Size",
"ONE SIZE"=>"One Size",
"ONESIZE"=>"One Size",
"XXXXL"=>"4XL",
"XXXL"=>"3XL",
"XXL"=>"2XL",
"Medium"=>"M",
"medium"=>"M",
"Small"=>"S",
"small"=>"S",
"Large"=>"L",
"large"=>"L",
"xlarge"=>"XL",
"xxlarge"=>"2XL",
"XLarge"=>"XL",
"xsmall/small"=>"XS/S",
"small/medium"=>"S/M",
"medium/large"=>"M/L",
"large/xlarge"=>"L/XL",
);
foreach($sizes as $data){
return isset($map[$data]) ? $map[ $data ] : "";
}
}

μετά το κάλεσα από το πεδίο του plugin ως: [size({size[1]})]

urahara
Δημοσιεύσεις: 149
Εγγραφή: 11 Δεκ 2011 22:53
Επικοινωνία:

PHP substing rewrite and explode

Δημοσίευση από urahara » 22 Μαρ 2017 01:02

ντάξει sorry άκυρο δουλεύει.. ευχαριστώ πολύ!

edit.. δε δουλεύει. Μου επιστρέφει μόνο τον πρώτο όρο πριν το πρώτο κόμμα σε καθε προϊόν

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

PHP substing rewrite and explode

Δημοσίευση από fafos » 22 Μαρ 2017 12:57

ti einai to size[1]?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

urahara
Δημοσιεύσεις: 149
Εγγραφή: 11 Δεκ 2011 22:53
Επικοινωνία:

PHP substing rewrite and explode

Δημοσίευση από urahara » 22 Μαρ 2017 17:04

size[n] όπου n ο αριθμός του προϊόντος μέσα στο αρχείο xml.. Ουσιαστικά το size[1] είναι το string <size>...</size> που αντιστοιχεί στο $data στον κώδικα που παρέθεσα..

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

PHP substing rewrite and explode

Δημοσίευση από fafos » 22 Μαρ 2017 22:04

urahara έγραψε:size[n] όπου n ο αριθμός του προϊόντος μέσα στο αρχείο xml.. Ουσιαστικά το size[1] είναι το string <size>...</size> που αντιστοιχεί στο $data στον κώδικα που παρέθεσα..
den mporo na katalavo ti ennoeis alla to parakato mou douleuei:

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

$map = array&#40;
	"SMALL"=>"S",
	"Medium/large"=>"M/L",
	"XL &#40;42&#41;"=>"XL",
	"XL &#40;UK 16&#41;"=>"XL",
	"XS &#40;UK "=>"XS",
	"XS/"=>"XS",
	"one size"=>"One Size",
	"ONE SIZE"=>"One Size",
	"ONESIZE"=>"One Size",
	"XXXXL"=>"4XL",
	"XXXL"=>"3XL",
	"XXL"=>"2XL",
	"Medium"=>"M",
	"medium"=>"M",
	"Small"=>"S",
	"small"=>"S",
	"Large"=>"L",
	"large"=>"L",
	"xlarge"=>"XL",
	"xxlarge"=>"2XL",
	"XLarge"=>"XL",
	"xsmall/small"=>"XS/S",
	"small/medium"=>"S/M",
	"medium/large"=>"M/L",
	"large/xlarge"=>"L/XL"
&#41;;
function size&#40;$data&#41; &#123;
	global $map;
	$sizes = explode &#40;",", $data&#41;;

	$transizes = array&#40;&#41;;
	foreach&#40;$sizes as $data&#41;&#123;
		if&#40;!empty&#40;$data&#41;&#41;&#123;
			$transizes&#91;&#93; = $map&#91;$data&#93;;
		&#125;
	&#125;
	return $transizes;
&#125;
$sizes = 'large,XXL,one size,xlarge';
print_r&#40;size&#40;$sizes&#41;&#41;;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

urahara
Δημοσιεύσεις: 149
Εγγραφή: 11 Δεκ 2011 22:53
Επικοινωνία:

PHP substing rewrite and explode

Δημοσίευση από urahara » 23 Μαρ 2017 18:59

1. δεν καταλαβαινω γιατι αφήνεις εκτός του function το $map = array στην αρχή
2. δεν καταλαβαίνω τη γραμμή $sizes = 'large,XXL,one size,xlarge';

Επίσης αντί για return μπορώ να χρησιμοποιήσω return isset ?

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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