Hirdetés

2024. június 2., vasárnap

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#14701) Sk8erPeter válasza vakondka (#14700) üzenetére


Sk8erPeter
nagyúr

Hali!
Ez a reguláris kifejezés illeszkedik rá:
^.+ \((\d+\.?\d+)Ft\)$

Itt teszteltem: http://regexpal.com
Őszintén szólva összesen kb. 30 másodpercet töltöttem el a megírásával, szóval lehet benne hiba, de a mintára illeszkedik. A 39.900 és 39900-ra is műxik. Tizedesvesszőre nem, azt direkt nem raktam bele, gondolom nem is kell most.
Remélem, segít :)

Szerk.:
online gyorsteszt:
http://preg_match.onlinephpfunctions.com
innen kimásolva a legenerált kódot:

$pattern = '@^.+ \\((\\d+\\.?\\d+)Ft\\)@';
$subject = 'iDream 1260 fejmasszírozó (1239.9200Ft)';
$result = preg_match( $pattern, $subject , $matches );
echo $result;
print_r($matches);

szóval itt a $matches[1]-ben lesz az eredményed. Persze ez még tartalmazza a pontot is, azt nyilván nem szedi ki, de azt már egy str_replace-szel nem nagy cucc.

modifiers, ha kell:
http://php.net/manual/en/reference.pcre.pattern.modifiers.php

[ Szerkesztve ]

Sk8erPeter

(#14702) Sk8erPeter válasza Sk8erPeter (#14701) üzenetére


Sk8erPeter
nagyúr

Igazából itt nem kell ez a dupla escape a generált kódban, így is elég lenne, és így még átlátható is; ja, és hoppá, előbb lemaradt a dollárjel a minta végéről, ami jelzi a string végét (persze ezt neked kell eldöntened, itt kell-e, de ha pontosan ennyi a string, amiből ki akarod szedni, a bezáró zárójellel ér véget, akkor kell), szóval:
$pattern = '@^.+ \((\d+\.?\d+)Ft\)$@';

[ Szerkesztve ]

Sk8erPeter

(#14703) vakondka válasza Sk8erPeter (#14702) üzenetére


vakondka
őstag

Köszi! :R
Nyertél még egy PHP könyvet ;)

https://toptarget.hu - Online Marketing Ügynökség

(#14704) Sk8erPeter válasza vakondka (#14703) üzenetére


Sk8erPeter
nagyúr

:) Örülök, hogy segített a dolog, szívesen.

Sk8erPeter

(#14705) ravenwood


ravenwood
csendes tag

sziasztok, tudna nekem segíteni valaki fql programozásban? vagy hol tegyem fel a kérdésem melyik témában?

(#14706) Sk8erPeter válasza ravenwood (#14705) üzenetére


Sk8erPeter
nagyúr

Mármint PHP-vel összehozva a kódot? Nyugodtan írhatod ide sztem a kérdésedet, hátha valakinek van bővebb tapasztalata a témában. (Nálam csak futó kaland. :D)

Sk8erPeter

(#14707) ravenwood


ravenwood
csendes tag

jah igen bocsi csak most nézem a reagálásokat, szóval:

FQL Query:

adott egy public event, ahol szeretnék egy filtert létrehozni az event tagok keresztnevei alapján, a probléma ott kezdődik hogy az fql-ben nincs multi query, szóval én amikor 1 query-ben szeretnék létrehozni egy filtert, akkor a következő hibaüzenetet kapom:

"first_name is not a member of the event_member table"

SELECT first_name FROM event_member WHERE uid IN (SELECT uid FROM event_member WHERE eid = 3523623623valami)

multy query közvetett módon példa:

"query1":"SELECT uid, rsvp_status FROM event_member WHERE eid=352323632362valami"
"query2":"SELECT name, url, pic FROM profile WHERE id IN (SELECT uid FROM #query1)"

[ Szerkesztve ]

(#14708) cacattila


cacattila
csendes tag

A következő problémám lenne:
Adott egy viszonylag nagy, esetenként változó, automatikusan generált (értsd: nem túl felhasználóbarát) XSD, ami alapján XML-t kéne előállítanom.
Ez java oldalon nem okoz gondot, ott a JAXB segítségével ez könnyű.
Viszont php-ben nem tudok olyanról ami hasonló képességekkel rendelkezne.
Hogy mi lenne az ideális:
- XSD alapján a framework legenerálja az osztályokat, és felépíti az XSD struktúrát az osztályokból (ez nem feltétlenül futási időben, elég ha csak mondjuk a script hetente 1x futtatható, és így létrejönnek az új osztályok)
- az osztályokat feltöltöm a szükséges adatokkal, majd a root-element szerepét betöltő osztály példányán meghívva egy fv-t az serializálható, így előáll az XSD-ben definiált XML.
- a folyamat minden esetben csak az XSD-vel kompatibilis XML előállítását engedi

Ismer-e valaki ehhez hasonló megoldást, vagy célszerű lehet-e esetleg ezt így kifejleszteni (itt arra gondolok, hogy maga a feladat nem bonyolult, csak időt vesz el, ezért érdeklődök, hogy van-e erre kész megoldás)

(#14709) cucka


cucka
addikt

Munkahely, valaki? [link] (Tudom, ez nem az állásbörze, nyilván, nem a fejvadász vagyok)

(#14710) mobal


mobal
MODERÁTOR

Jó ötlet még CodeIgniter-rel foglalkozni? Elég régóta új "tulajdonost" keresnek.

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14711) trisztan94 válasza mobal (#14710) üzenetére


trisztan94
őstag

Én szoktam még használni, de kezdek "áttérni" a zend-re pont emiatt.

Jó az avatarod :D

https://heureka-kreativ.hu

(#14712) Peter Kiss válasza mobal (#14710) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Soha nem is volt.

(#14713) Mbazsika válasza Peter Kiss (#14712) üzenetére


Mbazsika
tag

Mi a baj a Codeigniter-rel? Én csak ezt ismerem, sajna nincs összehasonlítási alapom.

(#14714) mobal válasza Peter Kiss (#14712) üzenetére


mobal
MODERÁTOR

:) ebben az esetben mit ajánlasz? frissítési lehetőség _nincsen_ legutolsó PHP 5.2.

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14715) Speeedfire válasza mobal (#14714) üzenetére


Speeedfire
nagyúr

A yii nem jött be? 5.1 felett megy.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#14716) mobal válasza Speeedfire (#14715) üzenetére


mobal
MODERÁTOR

Nem rossz, de túltervezettnek érzem néha. Na meg a "többnyire" konvenciót nem tudom megszokni. Azzal sem értek egyet, hogy auth modulnál miért kell egy sztringben egy felparamérterezett "statikus függvényt" tárolni.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14717) Speeedfire válasza mobal (#14716) üzenetére


Speeedfire
nagyúr

"Azzal sem értek egyet, hogy auth modulnál miért kell egy sztringben egy felparamérterezett "statikus függvényt" tárolni."
Mire gondolsz?
Vannak érdekességei, de szerintem szerethető fw.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#14718) cucka


cucka
addikt

Szükségem lenne egy ingyenes, könnyen használható webshop rendszerre. Van esetleg ötletetek, hogy melyikkel érdemes próbálkozni? Ha normálisan olvasható/használható a kódja, az mindenképp előny.

(#14719) mobal válasza Speeedfire (#14717) üzenetére


mobal
MODERÁTOR

Például az itt levő bizRule értéke, az ilyenekkel nagyon nem szimpatizálok. Yii jó, pláne, hogy most jobban megismertem, csakhát marha sok minden számomra "furcsa" a kohana után, aztán ki tudja lehet így kell lennie.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14720) Speeedfire válasza mobal (#14719) üzenetére


Speeedfire
nagyúr

Így biztosan nem kellene csinálniuk, csak gondolom jobb nem jutott eszükbe...vagy. :B
A 2-es verzióban állítólag sok minden újra lett/lesz írva, lehet az ilyet is lecserélik.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#14721) mobal válasza Speeedfire (#14720) üzenetére


mobal
MODERÁTOR

Az a baj, hogy bevett szokás...

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14722) j0k3r! válasza mobal (#14719) üzenetére


j0k3r!
senior tag

ez tenyleg nem valami szep :DDD mondjuk azt sem ertem, hogy miert kell ezt a tombbe-tombbe-tomb dolgot eroltetni php-ban, mikozben egeszen jol hasznalhato oop szempontbol. szerintem ezeket a tomboket siman ki lehetne valtani popo classokkal, raadasul typehint is van mar egy ideje, szoval az esetleges tombindex elgepelesek is megszunnenek.

some men just wanna watch the world burn...

(#14723) Speeedfire válasza j0k3r! (#14722) üzenetére


Speeedfire
nagyúr

Gondolom azért van így, mert 2009-ben készült az 1. verzió. Utána pedig nem akarták már átírni. :)
Most a 2-es verzióban talán minden jobb lesz, akkor pedig "nem csak weblapra" lesz jó, hanem webes alkalmazásra is.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#14724) Dave-11


Dave-11
tag

PostgreSQL-ben kéne adatbázist kezelnem PHP-n keresztül, de még nem volt dolgom ezzel, csak MySQL-t használtam eddig, és már sajnos a csatlakozásnál elakadok.
Először is leírnám a körülményeket:
Felraktam a PostgreSQL-t, elindítottam a pgAdmin III nevű programját. Tehát elvileg ilyenkor fut a szervere, igaz? Ezután elindítom a WampServer-t, hogy tudjam futtatni a PHP kódot, és leállítom a MySQL-t a biztonság kedvéért.
Innentől kezdve próbálkoztam, és láttam hogy külön PostgreSQL-es függvényei vannak a PHP-nak. Próbáltam egyszer a pg_connect()-et, meg a PDO-s verzióval is próbálkoztam, de a pg_connect()-nél azt írta hogy nem ismeri a függvényt, a PDO-nál meg az hogy "could not find driver".
Tudnátok egy kicsit segíteni?

:D Semmi :D

(#14725) Sk8erPeter válasza Dave-11 (#14724) üzenetére


Sk8erPeter
nagyúr

php.ini fájlban legyen engedélyezve a két megfelelő extension:

extension=php_pgsql.dll
extension=php_pdo_pgsql.dll

ez a két bejegyzés legyen benne!
A MySQL és PostgreSQL szerverek pedig futhatnak egymás mellett nyugodtan, mert alapértelmezetten más porton kommunikálnak (pont a konfliktus elkerülése érdekében).

Sk8erPeter

(#14726) Dave-11 válasza Sk8erPeter (#14725) üzenetére


Dave-11
tag

Igen, ezeket már beállítottam, de még így is vacakol :(
Esetleg be kéne másolnom valamit a WAMP mappájába?

[ Szerkesztve ]

:D Semmi :D

(#14727) Sk8erPeter válasza Dave-11 (#14726) üzenetére


Sk8erPeter
nagyúr

Újraindítottad már az Apache-szervert, mióta ezek bekerültek a php.ini-be?

Sk8erPeter

(#14728) Dave-11


Dave-11
tag

Ááh na csak meglett. Annyit kellett még tennem, hogy az Apache httpd.conf fájljába hozzáadok egy ilyen sort: LoadFile "d:/PostgreSQL/9.3/bin/libpq.dll" , és már működik is :)

:D Semmi :D

(#14729) PumpkinSeed


PumpkinSeed
addikt

Azt hogyan tudom megcsinálni, hogy a mysql adatbázisból csak az utolsó 2 darab elemet olvasom ki, iletve iratom ki php segítségével?

Elvben megvan.

[ Szerkesztve ]

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14730) PumpkinSeed


PumpkinSeed
addikt

<?php
$kapcsolat = new mysqli('localhost','root','usbw','news');
$title = "SELECT title FROM news";
$content = "SELECT content FROM news";
$title_lekerdezes = $kapcsolat->query($title);
$content_lekerdezes = $kapcsolat->query($content);
$talalatok_szama = $title_lekerdezes->num_rows;
$vegpont = $talalatok_szama-2;
for($i=$talalatok_szama;$i>$vegpont;$i--)
{
$title_text = $title_lekerdezes->fetch_assoc();
$content_text = $content_lekerdezes->fetch_assoc();
$title_text['title']=utf8_encode($title_text['title']);
$content_text['content']=utf8_encode($content_text['content']);
echo "<h4>".$title_text['title']."</h4>";
echo "<p>".$content_text['content']."</p>";
if($i==($vegpont+2)){echo "<hr>";}
}
?>

Így néz ki a kódom. A for ciklus a lényeg, ahol az i felveszi a találtok számának az értékét, majd megy a végpontig, ami kettővel kisebb mint a találatok száma. Ennek elvben azt kellene tennie, hogy az utolsó kettő darab bejegyzést kiíratja, de valamiért az első kettőt íratja ki. Mi a probléma?

[ Szerkesztve ]

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14731) DNReNTi válasza PumpkinSeed (#14730) üzenetére


DNReNTi
őstag

Gyóó.
Ettől ez sokkal egyszerűbb.
Ha jól értem a title és content mezők utolsó két rekordját szeretnéd megjeleníteni a news táblából. Na most ha jól értem akkor ez egész egyszerűen így fog kinézni:
$sql_lekerdezes = "SELECT title, content FROM news ORDER BY id DESC LIMIT 2;";

but without you, my life is incomplete, my days are absolutely gray

(#14732) PumpkinSeed válasza DNReNTi (#14731) üzenetére


PumpkinSeed
addikt

Köszönöm, tényleg egyszerűbb. :DDD

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14733) PumpkinSeed válasza DNReNTi (#14731) üzenetére


PumpkinSeed
addikt

Azt milyen függvénnyel tudom elérni, hogy csak egy megadott karakterhosszig írja ki a szöveget?

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14734) CSorBA


CSorBA
őstag

substr, bár gyanítom neked a multibyte formájára lesz szükséged: mb_substr

(#14735) PumpkinSeed válasza CSorBA (#14734) üzenetére


PumpkinSeed
addikt

Az mb_sbstr tökéletes volt. Már csak annyi kérdésem lenne, hogy beletettem egy tovább gombot, ha a hírt tovább szeretnék olvasni. Ezt hogyan tudom átküldeni, hogy melyik ID-vel rendelkező hírt szeretné átolvasni, ha nincs form-ba téve, ezt nem értem?!

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14736) PumpkinSeed


PumpkinSeed
addikt

Hát ez egyszerűbb volt mint gondoltam volna... :DDD

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14737) Dave-11


Dave-11
tag

Szeretnék csinálni egy fájlfeltöltőt, amiben több fájlt is ki lehet tallózni egyszerre. A form-omban így néz ki az ehhez tartozó input mező:
<input type="file" name="file[]" multiple="true" />
Még csak annyit csinál a program, ha lenyomom a submit gombot, akkor kiírja a fájlok neveit. Két dolgot teszteltem, egyszer a Windows7-es alapképeket tallóztam be, ez 8db kép, mindegyiknek kiírja a nevét, de amikor a telefonommal készült, csupán 5db képet tallózom be, akkor nem ír ki semmit, de ha 5-nél kevesebbel próbálom, akkor kiírja a neveket. Ez mitől lehet?

:D Semmi :D

(#14738) PumpkinSeed


PumpkinSeed
addikt

Karakter kódolási problémám lenne.

<form id="new" action="new_execute.php" method="post" accept-charset="UTF-8">
<table border='0'>
<tr>
<td>Cím</td><td><input type="text" name="title" size="30" maxlength="30"/></td>
</tr>
<tr>
<td>Tartalom </td>
<td><textarea id="msginput4" name="content" cols="40" rows="20" onkeyup="ccounter_func(this.id, this.id+'counter' , 5000)"></textarea></td>
<td><input type="text" id="msginput4counter" readonly="readonly" size="5" value="5000" /></td>
</tr>
<tr><td></td><td id="kivétel"><input type="submit" value="Új bejegyzés feladása"></td></tr>
</table>
<h4><a href="admin.php">Vissza az adminfelületre!</a></h4>
</form>

Van egy ilyen űrlapom, amit ez fogad:

<?php
$title = $_POST['title'];
$content = $_POST['content'];
$title = utf8_encode(trim($title));
$content = utf8_encode(trim($content));
if(empty($title) || empty($content))
{
echo "Nem töltöttél ki valamit! <a href='new.php'>Vissza</a>";
}
else{
$kapcsolat = new mysqli('localhost','root','usbw','news');
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
$sql_lekerdezes = "INSERT INTO `news`.`news` (`id`, `title`, `dates`, `content`) VALUES (NULL, '".$title."', CURRENT_TIMESTAMP, '".$content."');";
$lekerdezes = $kapcsolat->query($sql_lekerdezes);
$kapcsolat->close();
echo "<div id='siker'>Az új bejegyzés sikeresen hozzá lett adva!<br><a href='admin.php'>Vissza az adminfelületre!</a></div>";
}
?>

Az adatbázisban mind a 3 helyen UTF-8 van beállítva, de mégis a "Szeretem a táját" sztringet így kapom meg az adatbázisban:

szeretem a t�¡j�¡t

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14739) Dave-11 válasza PumpkinSeed (#14738) üzenetére


Dave-11
tag

De ha kiíratod egy PHP fájlba az adott rekordot, akkor is így írja ki?
Esetleg még annyit tehetsz, hogy a PHP részeknél beírsz egy ilyen sort:
header("Content-Type: text/html; charset=utf-8");

:D Semmi :D

(#14740) PumpkinSeed válasza Dave-11 (#14739) üzenetére


PumpkinSeed
addikt

igen-igen akkor is ilyen.

Ez sem segített. :(

[ Szerkesztve ]

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14741) Dave-11 válasza PumpkinSeed (#14740) üzenetére


Dave-11
tag

Még esetleg annyi, hogy én Notepad++ -ban csinálom a PHP fájlokat, és ott mindig UTF-8 BOM nélkülire állítom a karakterkódolást.

:D Semmi :D

(#14742) PumpkinSeed válasza Dave-11 (#14741) üzenetére


PumpkinSeed
addikt

Én is úgy használom, amiről tudok ott mindenhol utf-8-ra állítottam.

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14743) DeltaPower válasza PumpkinSeed (#14738) üzenetére


DeltaPower
őstag

Ez ránézésre utf8-utf8 konverzió... próbáld meg úgy hogy ezt szedd ki:
$title = utf8_encode(trim($title));
$content = utf8_encode(trim($content));

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#14744) PumpkinSeed válasza DeltaPower (#14743) üzenetére


PumpkinSeed
addikt

Sajnos így sem sikerült. Az eredmény ugyan az.

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14745) DeltaPower válasza PumpkinSeed (#14744) üzenetére


DeltaPower
őstag

Ami még így hirtelen feltűnt:
$kapcsolat = new mysqli('localhost','root','usbw','news');
A classnév alapján itt mysqli kapcsolat van. Itt viszont sima mysql, nem mysqli:
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");

Valszeg egyszerűbb lenne ide is $kapcsolat->query()-t használni, akkor nem lenne keveredés.

[ Szerkesztve ]

"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser

(#14746) PumpkinSeed válasza DeltaPower (#14745) üzenetére


PumpkinSeed
addikt

Most már tökéletes annyi kivétellel, hogy ő,ű helyett kérdőjelek vannak.

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#14747) Lacces


Lacces
őstag

Hali,

PHP-ban hogyan kell XML fájlt beolvasni, annak node-ját módosítani, és elmteni? Én nézegettem a Google-t. (Java-ban okés). De valahogy itt PHP-ban, az Istennek nem végzi el.

// sms_data.xml fájl beolvasássa a pass-ot módosítja, de a fájl, még mindig az eredeti, nem írja felül fájl szinten...
public static function saveToXML()
{
$xml = simplexml_load_file(dirname(__FILE__).'/../../../../sms_data.xml');
$xml->pass = "000";

$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
echo $dom->saveXML();

}

XML:
<?xml version="1.0"?>
<node>
<pass>test</pass>
</node>

De én a ezt szeretném a módosítás után, hogy ez legyen az XML tartalma.
<?xml version="1.0"?>
<node>
<pass>test</pass>
</node>

Van valami titkos trükk, amire nem jövők rá... :D

(#14748) mobal válasza Lacces (#14747) üzenetére


mobal
MODERÁTOR

Ugyan azt akarod? Vagy csak én nem értem? SimpleXmlParser. Szerintem eltárolod valamilyen adatstruktúrában az adatokat, majd újraalkotod az XML-t. Nem tudom most hirtelen, hogy módosítani képes e a Simple.

mobal,

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#14749) Tele von Zsinór válasza Lacces (#14747) üzenetére


Tele von Zsinór
őstag

Közel jártál. Kezdetnek felejtsd el azt a simplexml dolgot, és próbáld meg így:

<?php

$xml = <<<END
<?xml version="1.0"?>
<node>
<pass>test</pass>
</node>
END;

$domd = new DOMDocument();
$domd->loadXML($xml);

$node = $domd->getElementsByTagName("pass")->item(0);

$node->nodeValue = "000";

var_dump($domd->saveXML());

A kimenet pedig:

maerlyn@biliskner:~/tmp$ php xml.php
string(58) "<?xml version="1.0"?>
<node>
<pass>000</pass>
</node>
"

Ami hiányzik: annak lekezelése, ha nincs pass node az xml-ben. A getElementsByTagName egy DOMNodeList-et ad vissza, aminek a számosságát le tudod kérni.

[ Szerkesztve ]

(#14750) fordfairlane válasza Lacces (#14747) üzenetére


fordfairlane
veterán

Minek használsz két különböző xml feldolgozót, a SimpleXML-t a beolvasáshoz, a DOM-ot meg a kiíráshoz? A kiírás honnan tudja, hova kell írni? Eléggé zavaros ez.

Nem értem, mi a nehéz a SimpeXML használatában, ha javaban meg tudtad oldani ezt. Pár sor az egész, a php.net-es példa bőven elég hozzá.

<?php
$file = dirname(__FILE__).'/../../../../sms_data.xml';

$simpleXMLObject = simplexml_load_file($file);
$simpleXMLObject->pass = "000";
file_put_contents( $file, $simpleXMLObject->asXML() );
?>

[ Szerkesztve ]

x gon' give it to ya

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.