2013-06-26 9 views
0

Je suis tout à fait nouveau à PHP alors j'ai essayé de chercher avant de poser cette question mais je ne trouve pas la bonne réponse. Probablement parce que je ne connais pas le bon vocabulaire.Php remplacement de mots

Quoi qu'il en soit voici mon problème:

J'essaie de supprimer un mot de phrase. La phrase est un champ qui peut être rempli sur le site Web.

La phrase PHP est:

<?php the_field('years'); ?> 

Cela fonctionne et je reçois la bonne phrase. J'ai donc essayé de remplacer ou de cacher un mot:

<?php 
$sentence = the_field('years'); 
$test = str_replace('the', ' ', $sentence); 
echo "$test"; 
?> 

Mais ce constat fait écho que la $sentence et rien d'autre.

Comment faire? Et quel est le mot juste pour un 'objet' comme "the_field('years');

Merci!

Edit:

Le champ est en fait un Advanced Custom Field crowdsourcing. Pour obtenir le Variable:

<?php  
$variable = get_field('field_name');  
?> 

J'essayé:

<?php 
$sentence = get_field('years'); 
$test = str_replace('the', ' ', $sentence); 
echo "$test"; 
?> 

Mais cela echoe: "Array"

+0

'the_field ('années'),' appelle une fonction appelée the_field avec les années de paramètres. c'est ce que tu veux? Peut-être que vous voulez obtenir la valeur d'un élément dans un tableau, que vous pouvez obtenir avec $ the_field ['years']; – quidage

+0

S'il vous plaît, montrez la source de la fonction "the_field". – bbldzr

+0

En fait, "the_field" fait écho à un tableau de champs appelé "years". – Trekdrop

Répondre

0

Il semble que la fonction "the_field" Echoes des années », donc vous ne pouvez pas stocker le résultat dans une variable nommée $ sentence car il n'y a pas de résultat. Il existe peut-être une autre fonction qui vous permet de ne pas répercuter le résultat mais de le renvoyer. À partir de ce moment, votre script devrait être parfait.

+0

Aucun "champ" ne renvoie une étiquette de champ appelée "années". Dans ce cas, il fait écho: L'année prochaine est 2014 Edit: Désolé, je pense que vous l'avez bien compris. – Trekdrop

0

Actuellement vous remplacez la chaîne "le". Je ne connais pas l'entrée de the_field('years'). Mais votre cas fonctionne s'il y a un mot appelé "le". Pour connaître la valeur de the_field('years'), veuillez utiliser var_dump.

+0

Eh bien, il y a un mot "le" et ça ne marche pas. – Trekdrop

+0

Soumettez ici l'ensemble 'var_dump' de votre commande' the_field ('years') '... – MrBoolean

+0

L'année 2014, L'année 2015NULL est le var_dump – Trekdrop

0

Si je suis bon str_ireplace peut vous aider (version insensible à la casse de str_replace)

$test = str_ireplace('the', ' ', $sentence); 
+0

Merci, j'ai déjà essayé les deux avec les mêmes résultats. Voir ma modification ci-dessus – Trekdrop