$pattern = '/aaa(?=bbb)/';
$replacement = 'yyy';
$string = "xxxaaabbbxxxaaaccc";
$result = preg_replace($pattern, $replacement, $string);
echo $result; // "xxxyyybbbxxxaaaccc"
в данном коде заменяется такие aaa после которых идет bbb === answer of user @username ===
=== end of answer ===
ник: текст
и ник: @ник, текст
, никак не разделяя на посты (так как один пост может содержать ответы нескольким участникам), можно еще разделитель между сообщениями придумать, так как сообщения многострочные, то мне кажется это будет наилучший способ представления данных gptдобавлении поддержки новой сетираскрой подробнее, как объединяешь сети
window.addEventListener('beforeunload', function(e) {
// Your logic here
});
window.addEventListener('popstate', function(e) {
// Your logic here
});
import { BackHandler } from 'react-native';
componentDidMount(){
BackHandler.addEventListener('hardwareBackPress', this.handleBackButton);
}
componentWillUnmount(){
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButton);
}
handleBackButton(){
// Your custom code...
return true; // This will prevent the regular handling of the back button
}
React.useEffect(
() =>
navigation.addListener('beforeRemove', (e) => {
if (!someCondition) {
// If we don't need to handle the back button, then return
return;
}
// Prevent default behavior of leaving the screen
e.preventDefault();
// Prompt the user before leaving the screen
Alert.alert('Modal title', 'Modal message', [
{ text: "Don't leave", style: 'cancel', onPress: () => {} },
{
text: 'Leave',
style: 'destructive',
onPress: () => navigation.dispatch(e.data.action),
},
]);
}),
[navigation, someCondition]
);
поддержка софтом тоже важна